我剛剛建立了一個新網站。
設定完所有內容(帶有 LetsEncrypt 的 SSL)后,出現了太多重定向問題。
我花了幾個小時才弄清楚我可以通過在我的 cloudflare 設定中從靈活切換到完全來解決它。但為什么?有人可以向我解釋細節嗎?

Nginx 配置:
server {
server_name mysite.com;
root /root/mysite;
index index.html;
location / {
try_files $uri $uri/ =404;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = mysite.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name mysite.com;
listen 80;
return 404; # managed by Certbot
}
uj5u.com熱心網友回復:
當設定配置為靈活模式時,意味著連接遵循以下配置:
- 在最終用戶和 Cloudflare 之間,使用HTTPS
- 在 Cloudflare 和您的源服務器之間,使用HTTP
如果源不支持 HTTPS,這可能很有用,但您仍希望最終用戶安全地連接到 Cloudflare。建議始終使用完全有效的證書啟用端到端 TLS。
如果您的源配置為將 HTTP 請求重定向到 HTTPS,那么我們會進入一個回圈,因為重定向的 HTTPS 請求會回傳到 Cloudflare,然后 Cloudflare 會向源發出 HTTP 請求……然后回傳到它開始的地方!
在您的情況下,您的源服務器上似乎有一個完全有效的 Let's Encrypt 證書,因此您應該使用Full (Strict)。更多資訊也可在此處獲得
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/422123.html
標籤:
上一篇:NGINX為auth-tls-verify-client=optional_no_ca完成了哪些客戶端證書身份驗證驗證
