簡體   English   中英

Apache背后的CherryPy SSL

[英]CherryPy SSL behind Apache

有沒有一種方法可以將CherryPy設置為在Apache2后面運行時使用SSL,而無需配置Apache2對CherryPy執行SSL?

我已經找到了許多關於將SSL與CherryPy一起使用以及如何配置Apache2來對CherryPy進行SSL工作的教程,但是我找不到能夠在不配置Apache2來完成SSL工作的情況下將SSL與CherryPy一起使用SSL的教程。

要詳細說明gcbrizan的答案,您不能這樣做,因為了解https請求所需的第一步是首先解密連接。 SSL / TLS有兩種模式: 隧道和STARTTLS; 在后者中,正常連接開始,並且在某一時刻,一旦兩方建立了他們想對連接進行的操作; 一個對等方要求另一方開始加密連接。 ESMTP(電子郵件)使用此機制。

但是,HTTP不具有starttls功能。 所以改用隧道。 在傳輸任何http流量之前,雙方都要啟動安全隧道。 客戶端驗證服務器證書的正確性,並且服務器可以為客戶端執行相同的操作(如果需要/請求)。 僅在所有這些情況發生之后,客戶端才會發送頁面請求。

是由apache(或任何其他代理)執行的,這意味着由於該通信已加密,因此必須將所有加密的通信傳遞到原始服務器(您的問題中的cherrypy),該代理沒有機會“在此處發送此請求,但那里有此要求”。 如果它只是傳遞所有未經修改的流量,那么它實際上並沒有做任何有幫助的事情。 您也可以直接公開原始服務器。

您不能這樣做(我也不會嘗試)。 首先,Apache在終止SSL方面比CherryPy更好(如果沒有其他原因,則比性能更好)。 其次,它根本不起作用,因為Apache會說HTTP,而HTTPS實際上是使用SSL進行HTTP加密的,因此在獲得Apache可以理解的任何HTTP之前,您需要先處理SSL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM