2012-04-02 162 views
3

我試圖配置透明代理svn鏡像,如here所述,但使用https獲得困難時間。
目前的設置是:
如何使Apache代理http請求https:

  • 主服務器是公開的,並通過HTTPS保護。
  • 從服務器位於nginx反向代理之後,通過http服務,但nginx使用https保護所有外部流量。

所以我設法安裝svnsync的在這個奇怪的設置工作,但writethruproxy掙扎:
mod_proxy_http不喜歡HTTPS的另一端,並說這樣的:

[debug] proxy_util.c(1525): [client ccc.ccc.ccc.ccc] proxy: *: found reverse proxy worker for https://xxx.xxx.xxx.xxx:yyyy/svn/my_repo/!svn/me 
[debug] mod_proxy.c(1020): Running scheme https handler (attempt 0) 
[debug] mod_proxy_http.c(1954): proxy: HTTPS: declining URL https://xxx.xxx.xxx.xxx:yyyy/svn/my_repo/!svn/me (mod_ssl not configured?) 
[debug] mod_proxy_ajp.c(677): proxy: AJP: declining URL https://xxx.xxx.xxx.xxx:yyyy/svn/my_repo/!svn/me 
[debug] mod_proxy_ftp.c(842): proxy: FTP: declining URL https://xxx.xxx.xxx.xxx:yyyy/svn/my_repo/!svn/me - not ftp: 
[debug] mod_proxy_connect.c(100): proxy: CONNECT: declining URL https://xxx.xxx.xxx.xxx:yyyy/svn/my_repo/!svn/me 
[warn] proxy: No protocol handler was valid for the URL /svn/brisbane/!svn/me. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. 

TLDR:是有什麼辦法可以配置mod_ssl和mod_proxy_http將http流量轉發到https?

  • TIA
+0

請詳細說明TLDR的意見 – dldnh 2012-04-02 13:22:45

+0

的竅門就是加上 SSLProxyEngine on – user1308092 2012-04-02 15:04:18

回答

3

你首先需要(的Debian/Ubuntu的盒子例如a2enmod ssl,或改變配置您的安裝根據需要加載模塊)啓用了mod_ssl。

然後,你需要配置SSLProxy*指令作爲mod_proxy文檔中所示,更具體地說,至少SSLProxyCACertificateFileSSLProxyCACertificatePath與CA你願意相信(因爲你的Apache httpd服務將是一個客戶端這方面)。

+2

thanx,那幫了!不過,添加證書並不是必需的。我做的唯一的事情就是啓用mod_ssl並在**上面的** svn部分添加SSLProxyEngine。 – user1308092 2012-04-03 10:17:15

+2

@ user1308092,默認的'SSLProxyVerify none'選項使代理和實際服務器之間的連接易受MITM攻擊,因爲它不驗證任何內容。您通常應將其設置爲「required」,然後按照[文檔中的紅色框](http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslproxyverify)中的說明操作。 – Bruno 2012-10-18 22:35:41