nginx设置不带www的https跳转到带www的https地址
Posted lzhd24
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx设置不带www的https跳转到带www的https地址相关的知识,希望对你有一定的参考价值。
一旦域名加上了证书,我们一般都希望所有的请求都重定向到一个url,这样在搜索引擎在爬取的时候就可以集中在一个地址,有利于SEO
譬如:
我们想要以下这三个域名都重定向到https://www.xiaoben707.com
http://www.xiaoben707.com
http://xiaoben707.com
https://xiaoben707.com
我们在nginx需要做以下两个设置:
第一:
server { listen 80; server_name xiaoben707.com www.xiaoben707.com; return 301 https://www.xiaoben707.com$request_uri; }
这个意思很简单,把80端口的xiaoben707.com和www.xiaoben707.com永久重定向到https://www.xiaoben707.com
第二:
server {
listen 443;
server_name xiaoben707.com;
return 301 https://www.xiaoben707.com$request_uri;
ssl_certificate /etc/letsencrypt/live/xiaoben707.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/xiaoben707.com/privkey.pem; # managed by Certbot
}
这里是将https://xiaoben707.com重定向到https://www.xiaoben707.com,值得注意的事,这里也需要xiaoben707.com的证书。我一般用certbot直接生成。
以上是关于nginx设置不带www的https跳转到带www的https地址的主要内容,如果未能解决你的问题,请参考以下文章
Apache环境利用.htaccess文件设置域名301跳转(不带www跳转到带www)