1

当社のウェブサイトには、secure.xyz.comやxyz.comなどの安全なドメインと安全でないドメインがあります。

次のリンクを使用して、単一のサーバーでポート80と443の両方のトラフィックを処理できるようにしました。

http://nginx.org/en/docs/http/configuring_https_servers.html#single_http_https_server

server {
listen 80;
listen 443 ssl;
server_name secure.xyz.com xyz.com;
....
ssl_certificate secure.xyz.com.crt;
ssl_certificate_key secure.xyz.com.key;
...
}

$_SERVERの変数「SERVER_NAME」が「secure.xyz.com」に設定されていることを除いて、すべてが正常に機能します。このホスト名が「http」のある非セキュアページに表示されるようにします(例:「http://secure.xyz.com」)。

私の質問は次のとおりです。

  1. Nginxは、どのクライアントが要求したかに関係なく、常に構成から最初のサーバーを選択しますか?(そしてプロキシ(php-fpm)に渡されますか?)

  2. ルールはたくさんあるので、(以下のように)2つの別々のサーバーを作成する場合、両方の場所にルールをコピーする必要がありますか?'include /common_rules.conf'のような保守可能な方法はありますか?ファイルで「location」ルール(のみ)を使用してみました。また、ロケーションルールをカプセル化した「server」を使用してみましたが、機能しません。

    サーバー{リッスン443; server_name secure.xyz.com; ssl on; ssl_certificate secure.xyz.com.crt; ...common_rules.confを含める; ===> ??? }

    サーバー{リッスン80; server_name xyz.com; ...common_rules.confを含める; ===> ??? }

どんな助けでも大歓迎です。

4

0 に答える 0