LNMP Nginx http跳转到https, 不带www跳转到www域名

要解决2个问题:

①http跳转到https
②不带www跳转到www域名

解决①http跳转到https

只要是http开头的, 不管带还是不带www, 通通跳转到https://www.pianpai.com

添加以下代码 (域名改成自己的)

1
return 301 https://www.pianpai.com$request_uri;

解决②不带www跳转到www域名

比如https://pianpai.com 跳转到 https://www.pianpai.com

写成两个server:

一个是www的, 不用做跳转, 只要删掉server_name中不带www的域名(如删掉pianpai.con,保留www.pianpai.com)就好了.

另一个是不带www的, 需要跳转到带www.

直接复制一份443的原配置代码

粘贴放在下方。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name pianpai.com;
        return 301 https://www.pianpai.com$request_uri;
        ssl on;
        ssl_certificate /etc/letsencrypt/live/www.pianpai.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/www.pianpai.com/privkey.pem;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
    }

这段配置仅供参考,主要参考下server_name 的内容和下一行的跳转配置。

Leave a Reply

You must be logged in to post a comment.

RSS feed for comments on this post. TrackBack URL