我有 centos 7.6 并在上面安装了 squid 4.5。
sudo yum -y install squid
我关注了这个链接。
没有身份验证 squid 可以正常工作。这是添加部分
后的 squid.conf :Basic Authentication
# Basic Authentication
#
# Recommended minimum configuration:
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN)
acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
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
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
#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
# Deny CONNECT to other than secure SSL ports
# http_access deny CONNECT !SSL_ports
# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
# Basic Authentication
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
# allow all requests
acl all src 0.0.0.0/0
http_access allow all
# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
http_port 3128
# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
#
# Add any of your own refresh_pattern entries above these.
#
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
请看# Basic Authentication
部分。
问题是:
/usr/lib64/squid/basic_ncsa_auth
文件不存在。
那个文件在哪里?
我该如何解决这个问题?
- 评论后编辑 -
这是结果
yum info squid
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.softaculous.com
* epel: mirror.wiuwiu.de
* extras: mirror.alpix.eu
* updates: centosmirror.netcup.net
Installed Packages
Name : squid
Arch : x86_64
Epoch : 7
Version : 4.5
Release : 1.el7
Size : 10 M
Repo : installed
From repo : squid
Summary : The Squid proxy caching server
URL : http://www.squid-cache.org
License : GPLv2+ and (LGPLv2+ and MIT and BSD and Public Domain)
Description : Squid is a high-performance proxy caching server for Web clients,
: supporting FTP, gopher, and HTTP data objects. Unlike traditional
: caching software, Squid handles all requests in a single,
: non-blocking, I/O-driven process. Squid keeps meta data and especially
: hot objects cached in RAM, caches DNS lookups, supports non-blocking
: DNS lookups, and implements negative caching of failed requests.
:
: Squid consists of a main server program squid, a Domain Name System
: lookup program (dnsserver), a program for retrieving FTP data
: (ftpget), and some management and client tools.
看来您使用的不是 CentOS 打包的 squid,而是这里打包的。如果您在问题中提到了这一点,它可能会有所帮助。
如果您查看 repo,似乎有一个 squid-helpers 包,其中包括
/usr/lib64/squid/basic_ncsa_auth
.编辑:如果不清楚,
yum install squid-helpers
会解决你的问题。Centos 改变了路径:
您可以使用:
/usr/lib64/squid/ncsa_auth
或/usr/lib/squid/ncsa_auth
它工作正常!