Nginx

nginx如何代理https到http網站(它是如何工作的)

  • March 21, 2019

我一直在學習 SSL,並一直在使用letsencrpyt.org在我的一些網站上提供 SSL。到目前為止一切順利,我在SSL Labs上獲得了 A 級評級。現在我的域、子域和帶有奇怪埠的 Web 儀表板列表變得相當大。我想我可以將 nginx 設置為反向代理。

我了解它對 http 和 https 的工作原理,但它安全嗎?如果從上游伺服器到 nginx 的連接不安全,那有什麼意義呢?鉻會不會出問題?請問ssl實驗室?他們不會檢測到從實際伺服器到客戶端的路徑沒有全程加密嗎?我可以理解您是否在 LAN 內的安全環境中對私有 IP 進行 reverse_proxy,並且只有 nginx 面向公眾,但我計劃使用 nginx 代理其他伺服器,在其他具有公共 IP 的網路中,這意味著使用者數據仍將通過網際網路未加密對嗎?

我試圖找到關於這個主題的好資訊,但也找不到。所以讓我們生成一些 =) 。

謝謝,列維

如果您只配置了 HTTP 到您的代理,那麼您將失去加密的優勢。SSL Labs 和瀏覽器會注意到。

您可以在代理上安裝與伺服器上相同的證書。這將需要更多的管理。如果代理在同一個 IP 地址和埠上提供多個證書,那麼只有支持 SNI 的瀏覽器才能始終獲得正確的證書。

最重要的一條是在瀏覽器和您的代理之間擁有​​ SSL。這意味著您需要在代理 (nginx) 上安裝一個或多個證書。這將保留您對 SSL Labs 和瀏覽器的評分。

在您的代理和伺服器之間,您有幾個選擇。您可以使用 HTTPS 連接到伺服器,這需要額外的證書安裝。這些可以是自簽名的。自簽名證書可以更輕鬆地確保流量僅來自您的代理或其他內部來源。

如果您使用 HTTP 從代理連接到伺服器,則需要通知伺服器連接到達安全通道。許多 Web 容器可以配置為使用 cookie 來確定連接是否安全地到達您的網路。如果您選擇此路由,請在代理(至少對於 HTTP)連接處剝離 cookie 並將其重新添加。

如果您的伺服器不相信連接是安全的,他們將不會接受僅安全的 cookie。同樣,如果瀏覽器連接不是 HTTPS,它們將不會發送僅安全 cookie。任何登錄令牌都應使用僅安全 cookie

僅在數據中心執行 HTTP 更簡單,並且與您的內部基礎架構一樣安全。在數據中心工作的人將能夠相對輕鬆地嗅探流量。您可以混合使用 HTTP 來滿足較低的安全需求,而使用 HTTPS 來滿足更高的安全需求。

代理確實添加了另一個可以啟動中間人附加的位置。保持安全。

引用自:https://serverfault.com/questions/803823