我刚刚从 Jessie 升级到 Stretch 代理服务器,该服务器具有完美运行的 Squid 配置。
升级询问我是否squid.conf
要从旧/etc/squid3
目录复制到新/etc/squid
目录,我允许了。
现在,所有访问都被简单地拒绝并记录TCP_DENIED
在访问日志文件中。
我的squid.conf
文件如下。
该怎么办?
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_replacement_policy heap LFUDA
minimum_object_size 0 KB
# maximum_object_size_in_memory 8 KB
cache_dir aufs /home/squid 4000 16 256
access_log syslog:local5.info squid
cache_access_log none
cache_log /dev/null
cache_store_log none
pid_filename /var/run/squid3.pid
debug_options ALL,1
ftp_user [email protected]
# ftp_list_width 32
ftp_passive on
dns_retransmit_interval 5 seconds
dns_nameservers 8.8.8.8
acl connections maxconn 200
http_access deny connections
negative_ttl 300 seconds
# acl manager proto cache_object # Commented out on upgrade to 3.4
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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
acl localwww dstdomain xxxxx
acl baddomains dstdomain .xxxx .xxxx
#acl badhost src x.x.x.x/32
acl baddest dst x.x.x.x/24 x.x.x.x/32
acl srvnets src x.x.x.x/24
acl pcs src x.x.x.x/32
acl local_machines dst 10.0.0.0/8 172.16.0.0/12 193.137.2.90
cache deny local_machines
always_direct allow all
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
http_access deny baddest
http_access deny baddomains
http_access allow srvnets
http_access allow pcs
http_access deny all
icp_access deny all
miss_access deny baddest
miss_access deny baddomains
miss_access allow srvnets
miss_access allow pcs
miss_access deny all
cache_mgr [email protected]
cache_effective_user proxy
cache_effective_group proxy
visible_hostname xxx.xxx.xx
memory_pools on
forwarded_for on
client_db on
buffered_logs on
allow_underscore on
offline_mode off
uri_whitespace encode
half_closed_clients off
strip_query_terms off
cache_swap_high 70
shutdown_lifetime 2 seconds
refresh_all_ims on
#client_db off
max_filedescriptors 16384
答案1
在squid v3.5 中,hierarchy_stoplist
和client_db
配置指令已过时。
将它们注释掉,重新启动服务并squid
开始正常工作。
作为 Squid 配置清理项目的一部分,hierarchy_stoplist 已作为指令出现,该指令几乎但还没有完全过时。反对它的观点:
1)它只影响带有cache_peer的配置。2) 从 3.1 版本左右开始,早期 Squid 版本发布的默认设置已过时。
如果您仅使用“hierarchy_stoplist cgi-bin \?”您可以从任何 Squid-3 配置文件中完全删除它。
3) 下面的hierarchy_stoplist ABC 几乎完全等同于: acl Foo url_regex ABC always_direct allowed Foo 例外的是never_direct 在hierarchy_stoplist 之前应用,但不在always_direct 之前应用。
如果没有任何反对意见,这将计划在鱿鱼 3.4 发布周期内弃用。
答案2
升级后我也遇到同样的问题。就我而言,错误是它无法锁定/var/run 上的squid.pid,尽管它可以创建它。好吧,长话短说,作为一个冰雹玛丽和非常非正统的解决方法,我删除了systemD。那是不是不过,这是一个建议。我在这里了解了如何删除它(http://without-systemd.org/wiki/index.php/How_to_remove_systemd_from_a_Debian_jessie/sid_installation)。疯狂的是它起作用了:)