Apache-2.2

Apache2 + SSL + 代理到 Sinatra 應用程序:它會工作嗎?還是會給使用者一些警告?

  • June 7, 2012

我的主網站是一個用 ColdFusion 編寫的遺留應用程序,我最近從 MX 6.1 遷移到 9.0.1。該網站的另一部分是 WordPress 上的 PHP5 部落格/論壇。現在,我正在添加付費會員功能並使用 Ruby 和 Sinatra 與 Chargify V2 API 集成。好玩吧?無論如何,現在我已經開始使用 mod-proxy 將請求從主 CF 站點上的某個子目錄發送到 Sinatra 應用程序。這在 HTTP 上執行良好;埠 80 到埠 9292。但是當我嘗試使用 HTTPS 時會發生什麼;埠 443 到埠 9292?我目前沒有此主機的證書,因為過去沒有必要,所以我不確定如何進行實驗。我只是想確保瀏覽器不會抱怨非正統的安排。一世’ 我實際上並不擔心表單送出是否安全,因為該應用程序正在對其進行加密而不使用 SSL。我想使用 SSL 的唯一原因是為了使用者信心。因此,最重要的是沒有來自瀏覽器的投訴可能會降低使用者信心(從而降低轉化率)。

使用者不會知道代理伺服器和後端伺服器之間的連接沒有加密;他們的連接只到代理。但是,我不能責怪您的使用者不信任 SSL 之外的表單數據加密——我也不會!

在任何情況下,您都不應該以這種方式部署 HTTPS 代理到 HTTP 系統,除非您絕對確定代理和後端之間的流量是安全的。例如,如果任何使用者(而不僅僅是伺服器)都可以訪問該廣播域,他們就可以輕鬆地進行 ARP 毒化並擷取該流量。

如果發生這種情況有任何風險,那麼使用 SSL 進行代理和後端之間的通信 - 設置它不需要太多努力。

要啟動測試案例,您只需設置自簽名證書並啟動 SSL 偵聽器即可。

Listen 443
<VirtualHost *:443>
   ServerName ssl.example.com
   SSLEngine On
   SSLCertificateFile /path/to/cert.pem
   SSLCertificateKeyFile /path/to/cert.key
   ProxyPass / http://backend:9292/
   ProxyPassReverse / http://backend:9292/
</VirtualHost>

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