我有一個網站,它可以正確處理所有流量并將所有內容重定向到 https,除了 www 流量。我關注了這個相關的問題,但它似乎沒有解決它。這是我第一次設定這個 - 任何建議都值得贊賞。我的目標是將 www.my_website.com 重定向到 https://my_website.com,但目前它正在重定向到 http://www.my_website.com
我的 DNS 設定如下:
Type | Name | Data | Seconds
--------------------------------------
A | @ | my_public_ip | Automatic
A | www | my_public_ip | Automatic
而我的nginx如下:
server {
listen 80;
server_name _;
return 301 https://my_website.com;
}
# HTTPS server
server {
listen 443 ssl;
server_name my_website.com;
ssl_certificate some_random.crt;
ssl_certificate_key some_random.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
proxy_pass http://localhost:8080;
}
}
uj5u.com熱心網友回復:
這是一般適用于此類情況的示意圖。它捕獲http并重定向到https,并將www重定向到非www。SSL 證書可以單獨提供(或兩者相同),具體取決于證書。
server {
# Handle http
server_name www.my_website.com my_website.com;
return 301 https://my_website.com$request_uri;
}
server {
# Handle www
listen 443 ssl;
server_name www.my_website.com;
ssl_certificate some_random.crt;
ssl_certificate_key some_random.key;
return 301 https://my_website.com$request_uri;
}
server {
listen 443 ssl;
server_name my_website.com;
ssl_certificate some_random.crt;
ssl_certificate_key some_random.key;
# your 'real' server
}
它在這里解決了這個特殊問題,因為沒有給出 SSL www 請求的規則。server_name www.my_website.com my_website.com;如果證書等對兩者都有效,那么也可以提供SSL。
uj5u.com熱心網友回復:
我實際上發現了這個問題,這是我犯的一個小錯誤 - 我需要更改server_name my_website.com;為server_name my_website.com, www.my_website.com;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/422873.html
標籤:
