Squid代理错误403 TCP如何修复

5

大家好,我正在安装Squid作为HTTP代理,用于使用一个工具从谷歌上爬取URL。我已经配置好了一切,但是当我连接到Squid时,它会给出TCP 403错误。我使用的是Ubuntu14.04,我没有更改其默认设置,只将HTTP_access deny all更改为allow,其他都相同。我想要使用该代理进行网页抓取,请问应该如何配置文件?我已经搜索了两天以上,希望能得到帮助。

http_port 3128

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

acl localnet src 10.0.0.0/8     # RFC 1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC 1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC 1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443          # https

acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http

acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

我认为这个链接可能会有所帮助:https://serverfault.com/questions/322625/squid-403s-every-request-as-an-http-proxy。 - Mohammed
1个回答

13

Error 403意味着禁止访问。

请更改您问题中的最后一行:

http_access deny all

http_access allow all

这基本上是将您的策略从白名单(拒绝所有未明确允许的站点)更改为黑名单(允许访问所有站点,除了明确被拒绝的站点)。因此,您应该在其上方添加您的acl。


“黑名单”并不是“拒绝所有网站”的意思,相反,“允许通过所有元素[...]除了明确提到的那些”(维基百科)。同样适用于“白名单”。实际上,http_access deny all 是白名单(拒绝所有除明确提到的之外),而 http_access allow all 是黑名单(允许所有除明确提到的之外)。 - oarcas
1
这个回答是误导性的。all acl元素并不是"允许访问所有网站",而是允许任何IP地址从外部访问您的代理服务器。因此,通过将该行更改为http_access allow all,全世界的人都可以使用您的代理服务器进行好事或坏事。如果这样做,您至少应该添加身份验证措施。 - Martin Schneider
1
这个回答是误导性的。all acl元素并不是“允许访问所有网站”,而是允许任何IP地址从你的代理服务器上访问。所以,通过将这一行改为http_access allow all,全世界的人都可以使用你的代理服务器来进行好事或坏事。如果这样做,你至少应该添加一项身份验证措施。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接