我们的网站有安全和非安全域,例如 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”。
我的查询是:
Nginx 是否总是从配置中选择第一台服务器......无论客户端请求什么?(并传递给代理(php-fpm)?)。
我们有很多规则,所以如果我们创建两个单独的服务器(如下所示),我需要在两个地方复制规则吗?是否有任何可维护的方式,例如“include /common_rules.conf”?我尝试在文件中(仅)使用“位置”规则,也尝试使用“服务器”封装位置规则,但它不起作用。
服务器 { 听 443; 服务器名称secure.xyz.com;开启ssl;ssl_certificate secure.xyz.com.crt;... 包括 common_rules.conf;===>???}
服务器{听80;server_name xyz.com;... 包括 common_rules.conf;===>???}
非常感谢任何帮助。