gpt4 book ai didi

apache - 如何使用反向代理确保与外部服务器的安全连接?

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:13 25 4
gpt4 key购买 nike

我猜这是唯一一篇以“我的 SSL 连接有效但我不知道为什么”开头的帖子。我有一个设置,其中域名和通配符证书位于服务器 A 上,我想使用该域的子域将请求代理到互联网上某处另一台机器上的服务器 B。服务器 B 目前只能通过 IP 访问,所以我实际上没想到它会起作用,因为 SSL 证书是基于域名的。

我的设置如下(示例):

  • 服务器A域:www.production.io
  • 服务器 A 子域:cus1.production.io
  • 服务器B IP:65.23.523.12

cus1.production.io 的 http 的 Apache 配置:

RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
Redirect / https://cus1.production.io/

cus1.production.io 的 https 的 Apache 配置:

ProxyPass / http://65.23.523.12/
ProxyPassReverse / http://65.23.523.12/

调用 cus1.production.io 显示 65.23.523.12 上的应用程序,但在浏览器中具有安全连接(绿色锁),尽管服务器 B 上的网络服务器不提供 https 连接,也不提供 SSL 证书.

虽然客户端和“代理”服务器 A 之间的连接是安全的,但传输到实际应用程序的数据却不是。所以这实际上是一个骗局。

问题:如何确保在服务器 A 和服务器 B 之间应用安全连接?

最佳答案

这并不是真正的“欺诈”,只是在浏览器和服务器 A 之间确保了 SSL/TLS 连接。浏览器与服务器 B 无关:服务器 A 是服务器 B 的客户端。

如果可以,请在服务器 B 上设置 SSL/TLS。即使它只能通过 IP 地址访问,您也可以创建内部 CA 或自签名证书。 (该证书应在 IP 地址 类型的 SAN 条目中包含此 IP 地址。)

然后,您可以使用 mod_ssl's SSLProxy*配置 Apache Httpd(在服务器 A 上)如何作为服务器 B 的客户端(即当它是反向代理时)的选项。

通常,您需要设置 SSLProxyCACertificateFile(指向您的内部 CA 证书或自签名证书)并使用 SSLProxyCheckPeerName

关于apache - 如何使用反向代理确保与外部服务器的安全连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49514730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com