反向代理 http -> https?

Dat*_*ase 2 ssl https web-server reverse-proxy

我们有带有自签名 SSL 证书的 HTTPS 测试服务器。是否有任何反向代理可以让我们以 HTTP 访问页面,因此我们的程序可以发送 HTTP 请求而不是 HTTPS 请求?

Lac*_*cek 5

你可以用 apache 来做。

首先,您需要加载 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>
Run Code Online (Sandbox Code Playgroud)

当然,您不需要 VirtualHost,您可以将 ProxyPass* 和 SSLProxy* 指令嵌入到任何其他主机定义中。

请注意,证书必须由受信任的机构签署。如果您使用自签名证书,则必须使用

SSLProxyCACertificateFile /the/pem/file
Run Code Online (Sandbox Code Playgroud)

或者

SSLProxyCACertificatePath /the/dir/where/the/cert/files/are
Run Code Online (Sandbox Code Playgroud)

指令。

此外,Apache 检查远程主机的名称是否与颁发证书的名称相同。您可以通过添加

SSLProxyCheckPeerCN off
Run Code Online (Sandbox Code Playgroud)

行到您的配置。如需进一步设置,您可能需要查看Apache 文档