将Apache配置为将http路由到其他服务器上的https

时间:2019-02-07 10:47:34

标签: apache nginx reverse-proxy

我需要将一个“ serverA”上的“ http”路由到一个https“ serverB”。 https是自签名的,因此我不需要验证。 我已经能够在serverA上通过以下配置将其与nginx一起使用;

    upstream site_ssl {
            server serverB_IP:7061;
    }

    server {
            listen 7061 ;
            proxy_http_version 1.1;


            location /Notification {
                    proxy_ssl_verify              off;
                    proxy_pass https://site_ssl;
            }
    }

我需要在Apache Web服务器上重新创建它,我尝试了不同的建议,但是我的当前版本如下所示;

<VirtualHost *:7061>
    ServerName serverA
    SSLProxyEngine On
    SSLProxyCheckPeerCN Off
    SSLProxyCheckPeerExpire Off
    ProxyRequests Off
    ProxyPass /Notification https://serverB:7061
    ProxyPassReverse /Notification  https://serverB:7061
</VirtualHost>

Apache安装超时或响应“无法获得响应”。 Nginx的安装是完美的。我需要翻译Apache设置,以便它像Nginx一样工作

1 个答案:

答案 0 :(得分:0)

在查看 nginx 配置时,我了解到 serverB 正在监听 443 / tcp 。所以我会看到:

<VirtualHost *:7061>
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

    ServerName serverA
    SSLProxyEngine On
    SSLProxyCheckPeerCN Off
    SSLProxyCheckPeerExpire Off
    ProxyRequests Off
    ProxyPass /Notification https://serverB
    ProxyPassReverse /Notification  https://serverB
</VirtualHost>

编辑:我认为您还需要 SSLEngine SSLCertificate {File,KeyFile} 设置才能终止 SSL 连接。