微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.htaccess – Nginx:将非www重定向到https上的www

如果我在https上,Nginx无法将非www重定向到www:

https://domain.comhttps://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.comhttps://www.domain.comhttp://www.domainhttps://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://wwwhttps://serverfault.com/questions/579916/nginx-redirect-https-www-to-https-non-www-without-untrusted-connection-warn/579917#579917.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐