Web-Server

反向代理 http -> https?

  • August 17, 2017

我們有帶有自簽名 SSL 證書的 HTTPS 測試伺服器。是否有任何反向代理可以讓我們以 HTTP 訪問頁面,所以我們的程序可以發送 HTTP 請求而不是 HTTPS 請求?

你可以用阿帕奇做到這一點。

首先,您需要載入 ssl、proxy、proxy_http 和 proxy_html 模組。

然後,您需要這樣的代理設置:

<VirtualHost 0.0.0.0:80>
   ServerName give_it_a_name

   SSLProxyEngine on

   ProxyPass / https://your-test-server/
   ProxyPassReverse / https://your-test-server/

   ErrorLog /the/error.log
</VirtualHost>

當然,您不需要 VirtualHost,您可以將 ProxyPass* 和 SSLProxy* 指令嵌入到任何其他主機定義中。

請注意,證書必須由受信任的機構簽署。如果您使用自簽名證書,則必須使用

SSLProxyCACertificateFile /the/pem/file

或者

SSLProxyCACertificatePath /the/dir/where/the/cert/files/are

指令。

此外,Apache 還會檢查遠端主機的名稱是否與頒發證書的主機名稱相同。您可以通過添加

SSLProxyCheckPeerCN off

行到您的配置。如需進一步設置,您可能需要查看Apache 文件

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