Nginx
Nginx:反向代理和 http 到 https 重定向
我目前使用反向代理映射
my.domain.com
到埠 5000,但也想將 http 流量重定向到 https。我不想添加 SSL 證書資訊,因為這一切都由 Cloudflare 處理。這是我的工作反向代理:
server { listen 80; server_name my.domain.com; proxy_set_header X-Real-IP $remote_addr; location / { proxy_pass http://localhost:3000; } }
這是我
ERR_TOO_MANY_REDIRECTS
嘗試將 https 重定向添加到反向代理的失敗 ( ) 嘗試。server { listen 80; server_name my.domain.com; return 302 https://my.domain.com$request_uri; } server { listen 443; server_name my.domain.com; proxy_set_header X-Real-IP $remote_addr; location / { proxy_pass http://localhost:3000; } }
您希望您的網路伺服器如何知道連接到 Cloudflare 是通過 HTTPS 還是 HTTP?基本上有兩種選擇:
- Cloudflare 設置一個標頭,指示請求是否通過 HTTPS 發送給他們;或者
- 通過 HTTPS 與 Cloudflare 的連接也通過 HTTPS 代理給您。
我認為 Cloudflare 支持選項 1,但我現在找不到任何文件。但是,它們絕對支持選項 2,您甚至不需要購買自己的 TLS 證書即可。我強烈建議您這樣做,並在您的 nginx 伺服器上啟用埠 443 以使用 TLS。