如何设置与 ssl 请求一起工作的 apache 代理中继?

如何设置与 ssl 请求一起工作的 apache 代理中继?

在我们的用例中,我们尝试使用 apache 代理隐藏第三方代理的代理认证,因为云服务器提供商与 ip 白名单不兼容。

这意味着我们从服务器尝试使用代理。而代理需要 IP 白名单验证。

因此尝试设置一个转发到外部代理的代理,其中我们的代理有一个静态 IP。

我们做的第一件事就是在 AWS 上安装一个 Apache 服务器,配置如下:

ProxyRequests On
ProxyPreserveHost On

<VirtualHost *:8001>
  ProxyPass / http://yyy.externalprovider.io:8230/ Keepalive=On
  ProxyPassReverse / http://yyy.externalprovider.io:8230/
</VirtualHost>

这对于 http 和 https 都完全没问题。但请求仍然来自我们的服务器 ip。

在此之后,我可以使用正常的 http 运行,但 https 总是出现 502 网关错误。使用以下配置

ProxyRequests Off
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
SSLProxyCheckPeerExpire Off
ProxyPreserveHost On

<VirtualHost *:8001>
  ProxyPass / http://yyy.externalprovider.io:8230/ Keepalive=On
  ProxyPassReverse / http://yyy.externalprovider.io.io:8230/
</VirtualHost>

在我们的 apache2.conf 中我已经将 ProxyTimeout 配置为 300,因为这是互联网上提到最多的解决方案。

有人知道为什么这不起作用吗?

答案1

删除所有 SSLProxy* 语句并添加带有 ProxyRequest On 的 RemoteProxy,问题得到解决。

相关内容