当网站从 http 转换到 https 后,想自动将前往 http 的访客自动导向到 https 页面,以下是 Nginx 设定 http 自动转址到 https 连线的设定方法。
以下假设网站域名是 mydomain.com, 会将所有 http 的连线自动导向到 https 的页面, 另外会将没有 www 的连线自动导向到 www 的网页:
加入以下三个 block, 包括是 port 80 及两个 port 443 的 block, 其中 port 80 及第一个 port 443 都段落也是做自动导向, 最后一个 block 段落才是网站的设定:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
server { listen [::]:80; listen 80; server_name mydomain.com www.mydomain.com; # redirect http to https www return 301 https://www.ymydomain.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name mydomain.com; # SSL code # redirect https non-www to https www return 301 https://www.mydomain.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name www.mydomain.com; # SSL 及 其他设定 } |
上面的设定, 需要将 mydomain.com 换成你的域名.