稻草网

  1. 首页
  2. 技术
  3. WordPress
  4. 正文

Nginx 不带www的https域名 301跳转到带www的方法

2017年3月23日 5061点热度 0人点赞 1条评论

网上找了很久,都只有http跳转https,以及http下不带www跳转到www的方法,于是自己研究了一下,首先想到直接把443端口的server_name不带www 301跳转到带www,向下面这样:

server {
		listen 443 ssl;
		server_name strawtc.cn;
		return 301 https://www.strawtc.cn$request_uri;
	}  

同时还有个之前就配置好的

server {
        listen       443 ssl;
        server_name  www.strawtc.cn;
        location /{
       }
}

发现网站直接打不开,logs报no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking错误,搜索了一下在https://www.tectut.com/2014/10/solved-no-ssl_certificate-is-defined-in-server-listening-on-ssl-port-while-ssl-handshaking-client/这找到了答案

最终跳转的server,listen要加default_server ssl ,也就是

server {
        listen       443 default_server ssl;
        server_name  www.strawtc.cn;
        location /{
       }
}

这样才行,不知道为什么,这应该是很常见的需求,之前网上都找不到解决方法

 

还不懂的可以参照我的回答(Id:何同学):

https://segmentfault.com/q/1010000008196871/a-1020000008808575

标签: wordpress
最后更新:2017年6月8日

何 同学

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

  • zhangwei

    大哥,你终于解决了我的问题,已然也要在443下设置跳转,搞一晚上了,谢了

    2018年1月27日
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    回复 zhangwei 取消回复

    COPYRIGHT © 2025 稻草网. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang