如果我在https上,Nginx无法将非www重定向到www:
https://domain.com至https://www.domain.com
我在.conf中的设置是:
server {
listen 80;
server_name www.domain.com domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen 443;
server_name domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen IP_ADDRESS:443 ssl;
server_name www.domain.com;
...
}
http://domain.com到https://www.domain.com和http://www.domain到https://www.domain.com工作,但https上的非www到www不起作用.
如果我在第二个服务器块上添加了IP_ADDRESS,我在Chrome中出现错误(SSL错误),并且(www和非www)都停止工作.
更新:
感谢Steffen(以下回答),我将自签名证书更新为* .domain.com而不是domain.com.
.conf文件已在以下格式更新:
ssl_certificate /etc/Nginx/ssl/server.crt;
ssl_certificate_key /etc/Nginx/ssl/server.key;
server {
listen 80;
server_name www.domain.com domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen 443 ssl;
server_name domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen 443 ssl;
server_name www.domain.com;
...
}
解决方法:
这可能是因为您没有domain.com的证书,但只有www.domain.com或* .domain.com.有关详细信息,请参阅Nginx redirect http://www and naked http/https to https://www或https://serverfault.com/questions/579916/nginx-redirect-https-www-to-https-non-www-without-untrusted-connection-warn/579917#579917.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。