如何在不破坏客户端和服务器之间的 https 隧道的情况下配置 apache 反向代理?
Posted
技术标签:
【中文标题】如何在不破坏客户端和服务器之间的 https 隧道的情况下配置 apache 反向代理?【英文标题】:How apache reverse proxy can be configured without breaking the https tunnel between client & server? 【发布时间】:2014-09-03 12:06:15 【问题描述】:我已经配置了 apache 反向代理。在该配置中,客户端到反向代理和反向代理到服务器之间可以建立 https 连接。但我想要客户端到服务器之间的 https 连接,比如转发代理。 https 连接不应在反向代理处断开。
Https tunnel New Https tunnel
<===============> <===================>
客户端-----------Apache 反向代理 -------------------- --------服务器
上述解决方案不可取。
Https Tunnel
<========================================>
客户端--------Apache 反向代理----服务器
上述解决方案是可取的。
如果端到端 https 隧道在反向代理中是不可能的,那么如何确保 ssl 代理选项是安全的,甚至反向代理管理员(如果反向代理受到威胁)也无法解密隧道或中间人攻击做不到。
【问题讨论】:
这个问题似乎离题了,因为它与编程无关。请参阅帮助中心的What topics can I ask about here。也许Server Fault 或Webmaster Stack Exchange 会是一个更好的提问地点。 你不能。您可以在较低级别实现负载均衡器(例如通过ipchains
)。
【参考方案1】:
你不能。因为 HTTPS 通过设计保证发送者通过证书与接收者对话。您在这里的代理人将是“中间人”:-)
见http://en.wikipedia.org/wiki/Reverse_proxy
在安全网站的情况下,网络服务器可能不执行 SSL 加密本身,而是将任务卸载到反向代理 可能配备 SSL 加速硬件。 (见 SSL 终止代理。)
你能做什么
Client------Apache Reverse proxy----SC--------------SS---------Server
HTTPS SSL HTTP
(listen to 443)
其中 SC = Stunnel 客户端,SS = Stunnel 服务器
SC 必须与您的 apache 反向代理在同一台机器上运行,而 SS 必须在您的服务器目标中运行。
【讨论】:
以上是关于如何在不破坏客户端和服务器之间的 https 隧道的情况下配置 apache 反向代理?的主要内容,如果未能解决你的问题,请参考以下文章