Squid代理不适用于HTTP,但适用于HTTPS

2024-10-03 13:31:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用squid测试我的转发代理,其中客户端IP地址为X.X.X.X,代理IP地址为Y.Y.Y.Y。 我在/etc/squid/squid.conf中添加了以下几行

acl specialIP src X.X.X.X
http_access allow specialIP

为了检查代理是否工作,我请求以下两个URL:
https://checkip.amazonaws.com/
http://checkip.amazonaws.com/

代理在https://checkip.amazonaws.com/上运行良好,正如预期的那样,我收到了响应Y.Y.Y.Y,代理的IP地址,访问日志显示:

1603269551.021    416 X.X.X.X TCP_TUNNEL/200 5638 CONNECT checkip.amazonaws.com:443 - HIER_DIRECT/34.200.69.241 -

但是,当我请求http://checkip.amazonaws.com/时,我收到响应X.X.X.X,客户端IP地址,访问日志显示:

1603269592.564    182 X.X.X.X TCP_MISS/200 250 GET http://checkip.amazonaws.com/ - HIER_DIRECT/34.200.69.241 -

这是不正确的,因为我在使用http时应该会收到Y.Y.Y.Y的响应。是否需要更改配置文件?



添加以下信息,但可能不相关: 我正在使用python请求包发出代理请求。我使用的代码如下所示:

import requests

proxy = {'https': 'Y.Y.Y.Y:3128', 'http': 'Y.Y.Y.Y:3128'}

url = 'http://checkip.amazonaws.com/'

response = requests.get(url, proxies=proxy)
print(response.text)

Tags: httpscomhttpurl客户端代理requestssquid