當網站從 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 換成你的域名.