我正在尝试将所有流量从HTTP站点重定向到HTTPS站点以及所有www流量到非www站点。我的设置包含HTTP站点的nginx.conf文件,我已将301重定向规则添加到:
server {
listen 80;
listen [::]:80;
server_name
sub.domain.com
www.sub.domain.com
;
return 301 https://sub.domain.com$request_uri;
...
}
我还有一个https nginx.ssl.conf文件,类似于:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name sub.domain.com www.sub.domain.com;
ssl on;
...
}
通过此设置,我可以将所有HTTP流量重定向到HTTPS,但如果我尝试在我的nginx.ssl.conf文件中添加重定向,则会收到“太多重定向”错误。
有关如何将所有内容重定向到我的HTTP,非www站点的任何建议吗?
答案 0 :(得分:1)
您需要将https块拆分为两个域
server {
listen 80;
listen [::]:80;
server_name
sub.domain.com
www.sub.domain.com
;
return 301 https://sub.domain.com$request_uri;
...
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.sub.domain.com;
return 301 https://sub.domain.com$request_uri;
ssl on;
...
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name sub.domain.com;
ssl on;
...
}