【发布时间】:2014-08-25 03:32:34
【问题描述】:
我有一个使用 nginx 运行的网站,其结构中我们有一个负载均衡器,目前只有一个网络服务器在它后面(目前没有真正的流量,所以只有一个网络服务器)。
无论如何,在负载均衡器 nginx 配置中,我们对每个请求强制使用 HTTPS:
server {
listen 80;
server_name www.xyz.com xyz.com
return 301 https://www.xyz.com$request_uri;
}
这很好用,但现在我想说“在这个子域 - dev.xyz.com 上,也允许 HTTP 并且不要强制执行”。
起初,server_name 参数是“any”,我认为这可能是问题所在,所以我专门输入了上面示例中的名称,当我输入 http://www.dev.xyz.com 时,我被重定向回 @987654322 @。
在服务器块下面,我们也有 SSL 定义:
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/xyz.com.pem;
ssl_certificate_key /etc/nginx/ssl/xyzPrivateKeyNginx.key;
keepalive_timeout 70;
server_name www.xyz.com;
root /usr/local/nginx/html;
client_max_body_size 25M;
client_body_timeout 120s;
# Add trailing slash if missing
rewrite ^([^\.]*[^/])$ $1/ permanent;
}
谢谢! :)
【问题讨论】: