当 HTTPS 通过代理时,服务器会看到哪些客户端 IP 地址?

当 HTTPS 通过代理时,服务器会看到哪些客户端 IP 地址?

假设 HTTP 服务器(例如,托管某些 REST API 的端点)配置为仅允许来自单个客户端(我们称之为第一个客户端)的连接,即来自单个客户端 IP 地址。如果该客户端运行 HTTP 代理,例如,squid如果另一个客户端(我们称之为第二个客户端)将通过该代理进行连接,例如

<2nd-client>$ curl -x <1st-client> --cacart <cert> https://server

那么 HTTP 服务器是否会将第一个或第二个客户端的 IP 地址视为 HTTP(S) 请求的来源?换句话说,其他客户端是否可以通过该代理绕过对客户端 IP 地址施加的访问限制?

答案1

我认为这取决于代理服务器的配置方式。如果它不是您控制的代理,那么答案是肯定的,客户端可能会绕过 ACL。

如果您确实控制代理,您可以设置 XFF(X-Forwarded-For)标头并将您的服务器设置为从该标头读取 IP。

相关内容