Linux
將主站點流量從非 www 路由到 www,同時使用 nginx 保持子域活動
我的網站的 nginx 配置所需的功能如下。
- 所有主要站點的流量
example.com
都應重定向到https://www.example.com
. 到基域的所有non-www
流量都應該重寫為www
.- 所有現有子域都需要為我的企業客戶端保持活動狀態並路由到 https(例如
nike.example.com
tohttps://nike.example.com
)在我下面的目前配置中,唯一不起作用的情況是當我在瀏覽器中鍵入內容時
https://example.com
,瀏覽器向我顯示您的連接不是私有頁面,表明該站點不安全。我知道下面的配置不包括這種情況,但我不知道如何在不殺死所有子域的情況下解決問題。如何更改此配置文件以涵蓋上述所有情況?
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/website; index index.html; server_name www.example.com; server_tokens off; if ($http_x_forward_proto = 'http') { return 301 https://$host$request_uri; } location / { try_files $uri$args $uri$args/ /index.html =404; } }
您可以設置額外的虛擬主機,僅服務於 example.com,即:
server { listen 80; server_name example.com; return 301 https://www.example.com$request_uri; }
此外,如果您想使用 tls (https) 進行重定向,則必須設置虛擬主機並擁有涵蓋 example.com 和 www.example.com 域的證書。