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 的内容和下一行的跳转配置。