【问题标题】:Apache forward proxy that handles https处理 https 的 Apache 转发代理
【发布时间】:2013-06-04 21:10:54
【问题描述】:

我按照以下 SO 问题中的示例成功设置了 Apache 转发代理:Setting up an Apache Proxy with Authentication

它运行良好,除了通过 https 访问网站时,它说它找不到该网站。例如,Chrome 提供了

Error 111 (net::ERR_TUNNEL_CONNECTION_FAILED): Unknown error.

在服务器上,我什至没有在访问日志中看到任何内容。对于我的代理设置,我为 httphttps 配置了相同的设置(即我的代理服务器上的端口 80)。

您是否有关于如何使用 Apache 为 https 设置转发代理的示例?

【问题讨论】:

    标签: proxy apache2 mod-proxy


    【解决方案1】:

    似乎我唯一缺少的是我没有启用mod_proxy_connect,这是通过

    sudo a2enmod proxy_connect
    

    引用mod_proxy_connect documentation page

    此模块需要 mod_proxy 的服务。它提供支持 CONNECT HTTP 方法。 此方法主要用于隧道 SSL 通过代理服务器的请求

    【讨论】:

    • 对于这个答案我爱你!
    【解决方案2】:

    您是尝试终止 SSL 还是只是尝试创建转发代理而不处理任何 SSL 证书?您遇到的问题是因为在 HTTPS 代理期间,浏览器尝试创建 HTTP 隧道,并且您的服务器似乎未正确配置为处理隧道。您可以在此处查看另一个示例:Implementing a Simple HTTPS Proxy Application

    这是另一个关于使用 HTTP 隧道代理 HTTPS 流量的有用主题:Tunnel over HTTPS

    如果您可以选择除 Apache 之外的其他东西,我建议您使用强大的转发代理,例如为处理此类设置而构建的 SquidTrafficServer

    【讨论】:

    • 首先,感谢您的回答,尽管您给了我一个指向我提到的同一个 SO 问题的链接 :-) 是的,我正在尝试转发所有请求,包括 SSL。是否有操作方法?我可能会再看一次鱿鱼。现在我只想让它与 Apache 一起工作,如果可能的话。
    • 尝试使用 iptables 将所有到 443 的流量重定向到服务器的 HTTPS 端口。这将启用不需要 HTTP 隧道的透明代理。
    • Squid 或 ATS 是否支持双向 TLS/SSL?任何文档/指南都可以分享吗?谢谢
    猜你喜欢
    • 2017-09-07
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多