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

我们假设一个HTTP服务器(它承载一些REST API的端点)被configuration为只允许来自单个客户端(我们称之为第一个客户端)的连接,即从一个客户端IP地址。 如果客户端运行一个HTTP代理(如squid ,并且另一个客户端(我们称之为第二客户端)将通过该代理进行连接,例如

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

那么HTTP服务器会将第一个或第二个客户端的IP地址看作HTTP(S)请求的起源地址? 换句话说,其他客户端是否可以通过代理来规避客户端IP地址的访问限制?

我相信这取决于如何configuration代理服务器。 如果它不是你控制的代理,那么答案是肯定的,一个客户可能会规避一个ACL。

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