squid 访问被拒绝。对于 http 但不适用于 https,尽管删除了 http_access 仍拒绝连接!SSL_ports

squid 访问被拒绝。对于 http 但不适用于 https,尽管删除了 http_access 仍拒绝连接!SSL_ports

我有以下配置文件。注释和空行已删除。开头的行#>是我删除的,以使正常 http 正常工作。但它仍然被阻止。

acl localnet src 172.16.0.0/12 #docker
acl SSL_ports port 443
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
http_port 3128
cache_dir aufs  /media/richard/extra2/squid-cache 20000 16 256
coredump_dir /var/spool/squid
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

如果我连接到,https 就可以工作127.0.0.1;即使在禁用的情况下 https 也可以工作。

连接到 172.16.0.1(docker 接口上的同一台机器)时 https 不起作用。

我如何让 squid 代理纯文本http

答案1

我将其添加debug_options ALL,1 33,2到配置文件的顶部,然后在日志中发现了这一点:

local=172.17.0.1:3128 remote=192.168.43.64

看起来它正在将远程检测为外部接口上的我的 IP 地址。然后我添加了

acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

进入配置,它就可以正常工作了。请注意,这是一个安全问题,因为现在我们允许来自此网络的连接。

我不知道为什么远程 IP 不是来自同一网络。我不知道为什么https会这样。我将使用本地防火墙,但我仍然希望修复(以防防火墙配置错误)。

相关内容