Apache と Nginx の設定
デフォルトで、Plesk は Apache ウェブサーバ(http://ja.wikipedia.org/wiki/Apache_HTTP_Server)を使用して、ウェブサイトのページをクライアント(訪問者がウェブサイトへのアクセスに使用するブラウザなど)へ配信します。パフォーマンス向上のために、Apache は nginx という別のウェブサーバによって補完されます。nginx のみを使用するオプションもあります。
デフォルトのウェブサーバ設定 は、サーバ管理者(ホスティング事業者)が指定します。これらの設定により、ウェブサーバが各種ファイルを処理する方法やウェブサーバが SSL/TLS を使用する方法、ログファイルの保存場所などが決まります。
ただし、ウェブサイトの所有者は、自分のウェブサイト用の カスタムウェブサーバ設定 をセットアップできます。たとえば、インデックスファイルのタイプを追加したり、サイトアクセスに制限を加えたりできます。
注釈: ホスティング契約に適切なパーミッションが設定されていれば、ウェブサイトのウェブサーバ設定を調整できます。
Apache と Nginx の設定を調整する
Apache と nginx には、ドメインレベルでカスタマイズできる特定の設定があります。これらの設定は、[ウェブサイトとドメイン] > ドメイン名 > [Apache と nginx の設定]にあり、以下の 2 グループに分類されます。
-
Apache 共通設定
-
"nginx settings"
MIME タイプを構成する
MIME タイプ は、ファイルの拡張子とファイルタイプを紐付け、ウェブブラウザに対して特定のファイルタイプをどのように処理すべきか指示します。たとえば、以下の MIME タイプを見てみましょう。
text/plain .txt
このタイプは、ウェブブラウザに対し、すべての .txt
ファイルをプレーンテキストとして処理するように指示しています。一般的な MIME タイプはデフォルトであらかじめ構成されています。ただし、標準的ではない拡張子をファイルに使用していることが原因でウェブサイトのページがウェブブラウザで正しく処理されない場合、カスタム MIME タイプを 1 つまたは複数構成する必要があります。
カスタム MIME タイプを構成する:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進みます。
- Under "MIME types", select the "Enter custom value" radio button.
- 必要な MIME タイプを入力または削除して[OK]をクリックします。
Apache ハンドラを構成する
Apache ハンドラは、特定の拡張子のファイルをどのように処理すべきかウェブサーバに指示します。たとえば、以下のハンドラを見てみましょう。
cgi-script .cgi
このハンドラは、すべての .cgi
ファイルを cgi スクリプトとして処理するようにウェブサーバに指示しています。デフォルトで、一般的な拡張子のファイル用のハンドラはあらかじめ構成されています。ただし、特定の拡張子のファイルの処理に使用するハンドラを変更したい場合、カスタムハンドラを 1 つまたは複数構成する必要があります。
カスタムハンドラを構成するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進みます。
- Under "Handlers", select the "Enter custom value" radio button.
- 必要なハンドラを入力または削除して[OK]をクリックします。
ウェブサイトへのアクセスを禁止する
特定の訪問者による御社ウェブサイトへのアクセスを禁止することができます。以下に対するアクセスを禁止できます。
- 個別 IP アドレス(たとえば
192.168.1.110
) - IP アドレスのサブネット(たとえば
127.0.0.1/8
) - 特定のホスト名(たとえば
example.com
) - すべての人(アスタリスク記号
*
を使用)
ブロックされた訪問者がウェブサイトを閲覧しようとすると「403 Forbidden」エラーメッセージが表示されます。
ウェブサイトへのアクセスを構成するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進みます。
- Under "Deny access to the site", select the "Enter custom value" radio button.
- 必要な IP アドレス、サブネット、ホスト名を入力または削除します。
- If you blocked a subnet, but would like to allow one or more IP addresses belonging to it to access your website, type them in the "Excluding" field.
- [OK]をクリックします。
インデックスファイルを構成する
ウェブサイトへの訪問者が特定のファイルではなくディレクトリ(たとえば www.example.com/index.html
ではなく www.example.com
または www.example.com/example
)をリクエストして URL を参照すると、Apache は表示するインデックスファイルを探します。デフォルトで、Apache は以下のファイルを(指定した順序で)探します:
index.html
index.cgi
index.pl
index.php
index.xhtml
index.htm
index.shtml
7 ファイルすべてがディレクトリにある場合、閲覧する訪問者には index.html
ファイルが表示されます。 index.html
がない場合、Apache は代わりに index.cgi
ファイルを探し、これがなければ次のものを探します。適当なインデックスファイルが見つからない場合、デフォルトで「403 Forbidden」エラーが表示されます。
Plesk では、御社のウェブサイトのディレクトリを訪問者が閲覧するときに Apache が探すインデックスファイルをカスタマイズできます。
- Apache がインデックスファイルを探す順序は変更可能です(たとえば、デフォルトで
index.html
ファイルではなくindex.php
を表示させることができます)。 - インデックスファイル名をリストに追加したり、削除することができます(たとえば、ウェブサイトのデフォルトページの名前が
hello.php
の場合、Apache にこれをデフォルトで表示させることができます)。
インデックスファイルを構成するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進みます。
- Under "Index files", select the "Enter custom value" radio button.
- 必要なインデックスファイル名を、Apache が探すべき順序で入力または削除し、[OK]をクリックします。
「Expires」ヘッダを構成する
Apache の expires
ヘッダは、ウェブブラウザがウェブコンテンツのコピーをキャッシュしてから、次にサーバにリクエストするまでどれくらいの時間保持するのかを制御します。このヘッダを構成すると、サーバの負荷が軽減され、ウェブサイトがスピードアップする可能性があります。
たとえば、有効期間を 10 日間に設定するとします。ある訪問者が御社のウェブサイトを閲覧し、index.html
ページをリクエストします。訪問者のウェブブラウザは、ページのコピーをキャッシュに保存し、その後 10 日間は訪問者がウェブサイトを閲覧するたびに、キャッシュされたコピーを表示します。11 日目に、ページが再びリクエストされると、ブラウザはサーバにこのページを再びリクエストします。キャッシュに保存されたページは期限が切れているためです。
When configuring the expires
header for websites featuring dynamic
content, we recommend enabling the "response with Expires headers for static files only" option. Otherwise, all content, including dynamic
content, will be stored in the visitors' browsers' cache for the
duration of the expiration period. This is not recommended because the
dynamic content is, as a rule, updated frequently.
注釈: 「Expires」ヘッダ機能では、mod_expires
が Apache で有効である必要があります。
「Expires」ヘッダを構成するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進みます。
- Under "Expires", select the "Enter custom value" radio button.
- 必要な有効期間を指定します(推奨される有効期間は 14 日間)。
- If your website features dynamic content, make sure that the "response with Expires headers for static files only" checkbox is selected.
- [OK]をクリックします。
注釈: If nginx is enabled, only files served by Apache will have the expires header. If the "Smart static files processing" checkbox is selected, which files are treated as static is determined by the Apache and nginx default configurations. If the "Serve static files directly by nginx" checkbox is selected and any file extensions are specified, nginx only serves the files with the specified extensions.
追加のヘッダを構成する
以下のパターンに従って、HTTP 応答に追加のヘッダを構成できます。
名前:値
HTTP 応答ヘッダにはリクエストされたページについての情報が含まれ、ウェブブラウザに各種アクションの実行を指示します。たとえば、以下のヘッダはウェブサイトへの訪問者を クリックジャッキング から守ります。
X-Frame-Options: DENY
追加のヘッダを構成するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進みます。
- Under "Additional headers", select the "Enter custom value" radio button.
- 必要なヘッダを入力または削除して[OK]をクリックします。
シンボリックリンクのフォローを制限する
デフォルトで、Apache はシンボリックリンクをフォローできます。ウェブサイトでシンボリックリンクを使用しない場合、このオプションにはセキュリティ上のリスクがあるため、無効にすることをお勧めします。
Apache によるシンボリックリンクのフォローを禁止するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進みます。
- Select the "Restrict the ability to follow symbolic links" checkbox and, and click OK.
nginx のみのホスティング
Plesk for Linux では、nginx と PHP-FPM を組み合わせてウェブサイトをホストできます。この場合、ウェブサイトへの要求は Apache に渡されず、nginx によって処理されます。nginx のみのホスティングは PHP ウェブサイトで特に有効なオプションですが、静的ウェブサイトやアプリケーションサーバのホスティングにも適しています。Apache を停止または無効にすることなく nginx で処理するように個別のウェブサイトを構成することができ、Apache を使用してホストされるウェブサイトにはいかなる影響も与えません。
注釈: Plesk サービス(ウェブメールなど)は引き続き Apache を使用して機能し、nginx のみのホスティングに切り替えたことによる影響を受けません。
ドメインに対して nginx のみのホスティングをオン/オフにするには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進みます。
- In the "nginx settings" section, clear the "Proxy mode" checkbox.
- [適用]をクリックします。
To revert a domain to Apache+nginx hosting, select the "Proxy mode" checkbox.
既知の制約事項
ドメインを nginx のみのホスティングに切り替えると、以下の制約が課されます。
- SSI、Perl、Python のサポートが使用できなくなる。
- PHP ハンドラ「FPM アプリケーション + nginx」しか使用できなくなる。
静的ファイル処理を構成する
デフォルトで、Plesk for Linux サーバ では nginx、Apache は連携して機能します。Apache が動的コンテンツに対応し、nginx は静的コンテンツを提供するプロキシとして使用されます。この方法により、サーバのリソース使用状況が最適化され、Plesk はホストされているウェブサイトへのリクエストにより迅速に対応できるようになります。ただし、Plesk では御社ウェブサイトの静的コンテンツをどのように処理するかを選択することができます。
すべての静的コンテンツを nginx 経由で提供する
これは Plesk for Linux のデフォルトの動作です。静的コンテンツへのリクエストを受信すると、Apache は該当するファイルの場所を示すだけで、nginx がそれを探して提供します。
すべての静的コンテンツを nginx 経由で提供するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進み、「nginx 設定」のセクションまでスクロールします。
- Select the "Proxy mode" and "Smart static files processing" checkboxes.
- Make sure that the "Serve static files directly by nginx" checkbox is not selected.
- [OK]をクリックします。
注釈: In this configuration, files with static content that are less than 1 KB is size are always served by Apache, not nginx.
特定の拡張子を持つファイルのみ nginx 経由で提供する
希望する場合、特定の拡張子を持つファイルのみを静的コンテンツとして nginx で提供することができます。通常なら静的ファイルとして分類される他のファイルは、Apache から提供します。このシナリオでは、特定の拡張子を持つファイルへのリクエストが Apache に到達することはありません。その結果、Apache ハンドラを通過しません。つまり、リライトルールや .htaccess
ディレクティブは適用されません。
特定の静的コンテンツのみを nginx 経由で提供するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進み、「nginx 設定」のセクションまでスクロールします。
- Select the "Proxy mode" and "Serve static files directly by nginx" checkboxes.
- By default, certain static files extensions are already preconfigured in the "Serve static files directly by nginx" box. You can add or remove the extensions as necessary. Separate individual file extensions using whitespaces or the "|" character.
- [OK]をクリックします。
注釈: [静的ファイルを nginx で直接処理]オプションを有効にすると、[スマート統計ファイル処理]チェックボックスがオンのままでも、このデフォルトモードが自動的に無効になります。
注釈: In this configuration, files with the specified extensions are always served by nginx, regardless of their size.
すべての静的コンテンツと動的コンテンツを Apache 経由で提供する
希望する場合、nginx を無効にして、Apache が静的および動的のすべてのコンテンツを提供するように構成できます。これは、nginx のトラブルシューティングといった特定の状況で役に立ちます。本番ウェブサイトでは、Apache ですべてのコンテンツを処理するのはお勧めしません。
すべての静的コンテンツと動的コンテンツを Apache 経由で提供するには:
- [ウェブサイトとドメイン] > [Apache と nginx の設定]に進み、「nginx 設定」のセクションまでスクロールします。
- Select the "Proxy mode" checkbox.
- Clear the "Smart static files processing" and "Serve static files directly by nginx" checkboxes.
- [OK]をクリックします。