使用SSL的Apache反向代理

使用SSL的Apache反向代理,apache,ssl,reverse-proxy,Apache,Ssl,Reverse Proxy,是否可以通过HTTPS将代理服务器反向到内部服务器,并从后端服务器提供证书,而不是代理服务器上的证书?我认为这是不可能的,因为它允许以下配置: 您有一个域example.com,其中不同的子域作为vhost(ONE.example.com,two.example.com,…) 您拥有域*.example.com的通配符证书 您需要mod_代理 with Proxy指令适用于匹配*.example.com的不同服务器名 如果代理后面没有其他Web服务器,请为您的域添加不带SSL的服务器,这些域是

是否可以通过HTTPS将代理服务器反向到内部服务器,并从后端服务器提供证书,而不是代理服务器上的证书?

我认为这是不可能的,因为它允许以下配置:

  • 您有一个域example.com,其中不同的子域作为vhost(ONE.example.com,two.example.com,…)
  • 您拥有域*.example.com的通配符证书
  • 您需要mod_代理
  • with Proxy指令适用于匹配*.example.com的不同服务器名
  • 如果代理后面没有其他Web服务器,请为您的域添加不带SSL的服务器,这些域是上面VirtualHost:443配置中的代理
辣妹!我不敢相信这是有效的,但它似乎是有效的!没有发现任何关于这种行为的规范,但请自己尝试一下

致以亲切的问候, ~z~马塞尔


附言:这里没有任何安全疑虑!请记住,这些对“后端”的代理调用是不安全的,因此(如Rob所述)具有潜在危险

konqi>这几乎就是我多年来一直使用的反向代理配置,使用重写规则而不是代理指令,这在这里不起作用

RewriteEngine On
# is the virtualhost in the allowed server list ?
RewriteCond %{SERVERNAME} ^(server1|server2|server3|server4)\.domain\.com$
# then redirect to the real server (which the virtualhost name resolves to on the proxy)
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [P]
# else block it all
RewriteRule ^.*$ - [F]

简单明了。

我想情况就是这样,只是想澄清一下。感谢将SSL/TLS从一台服务器复制到另一台服务器本身并不会促进MITM。只有当中间/代理服务器终止SSL连接(通过使用有效证书或某些恶意证书),然后将该流量重定向到其他地方时,它才是MITM。事实上,负载平衡器非常常见,它可以是Apache服务器,但更常见的是Nginx,用于终止服务器的代理SSL流量,因为如果流量未解密,代理服务器无法检查流量。57您似乎知道自己在说什么。你能检查一下我的问题吗?