Linux
如何使用 Nginx 從 http(s)://(www.)example.com 重定向到 https://example.com?
正如標題所述。
我發現了另一個有用的 Q/A,但它沒有顯示如何在 Nginx 設置中正確執行,我的意思是
parameters
. 他可能的意思是https://exmaple.com
在被重定向到 之前應該有一個有效的握手https://www.example.com
。在我的場景中https://www.example.com
效果很好,但https:example.com
不能重定向到https://www.example.com
.server { listen 80; server_name example.com www.example.com; rewrite ^ https://example.com$request_uri? permanent; } server { listen 443; server_name example.com; ssl on; # some other settings, correctly }
但是,它在瀏覽
http://example.com
時被重定向到,https://example.com
但它以 chrome 顯示This site can’t be reached example.com unexpectedly closed the connection. ERR_CONNECTION_CLOSED```
我想全部重定向到
https://example.com
,如何?
- 更新 -
/var/log/nginx/access.log
節目_"GET / HTTP/2.0" 301 216 "-"
沒有錯誤
/var/log/nginx/error.log
非常感謝!!!
所以你想將所有流量重定向到https://www.example.com?
我認為您在listen 443 ssl中缺少****ssl指令;
請參閱下面的範例
使用 HTTPS 的主要配置 - www.example.com
server { listen 443 ssl; server_name www.example.com; ssl_certificate /path/ssl.crt other ssl config.... }
將 HTTPS 裸域重定向到 WWW
server { listen 443 ssl; server_name example.com; return 301 https://www.example.com$request_uri; }
重定向所有 HTTP
server { listen 80; server_name example.com www.example.com; return 301 https://www.example.com$request_uri; }