我正在尝试安装 Squid 3.5.2,以利用改进的 sslbump 功能来处理带有 HSTS 的网站。我正在遵循文档在全新安装的 CentOS 7 VM 上。我遇到的问题是,安装 Squid 时没有创建 ssl_crtd 文件夹,尽管 rpm 似乎已使用适当的开关进行配置。
请参阅下面的 Squid -v 输出
[root@squid]# squid -v
Squid Cache: Version 3.5.2
Service Name: squid
configure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-follow-x-forwarded-for' '--enable-auth' '--enable-auth-basic=DB,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB,getpwnam' '--enable-auth-ntlm=smb_lm,fake' '--enable-auth-digest=file,LDAP,eDirectory' '--enable-auth-negotiate=kerberos,wrapper' '--enable-external-acl-helpers=wbinfo_group,kerberos_ldap_group,AD_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-icap-client' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-storeio=aufs,diskd,ufs,rock' '--enable-wccpv2' '--enable-esi' '--enable-ssl-crtd' '--enable-icmp' '--with-aio' '--with-default-user=squid' '--with-filedescriptors=16384' '--with-dl' '--with-openssl' '--with-pthreads' '--with-included-ltdl' '--disable-arch-native' '--without-nettle' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' 'PKG_CONFIG_PATH=%{_PKG_CONFIG_PATH}:/usr/lib64/pkgconfig:/usr/share/pkgconfig' --enable-ltdl-convenience
有谁知道为什么有这个文件夹,正如我在几乎所有的文档中读到的应该那里奇怪地缺席了吗?
编辑 :
我正在寻找的目录是 ssl_crtd 目录。从我读过的文档来看,它似乎应该位于/usr/lib64/squid/ssl_crtd
。尝试使用find / -name "ssl_*"
(和其他变体)命令找到它也没有结果。
答案1
ssl_crtd 是一个二进制文件,它是在 squid-helpers rpm 构建中构建的,请参阅:squid.spec。
%files helpers
%{_libdir}/squid/basic_db_auth
%{_libdir}/squid/basic_getpwnam_auth
%{_libdir}/squid/basic_ldap_auth
%{_libdir}/squid/basic_ncsa_auth
%{_libdir}/squid/basic_nis_auth
%{_libdir}/squid/basic_pam_auth
%{_libdir}/squid/basic_pop3_auth
.........
%{_libdir}/squid/ssl_crtd
如果您希望将其安装在通用 squid rpm 中,则必须修改 squid.spec 文件以将 lib 安装程序复制到 spec 文件的 %files 部分或安装 squid-helpers.rpm
答案2
您必须自己创建证书存储。输入以下命令来执行此操作(这些命令适用于 Ubuntu,但 CentOS 应该非常相似):
$ sudo rm -R -f /var/spool/squid3_ssldb
$ sudo /bin/ssl_crtd -c -s /var/spool/squid3_ssldb
$ sudo chown -R proxy:proxy /var/spool/squid3_ssldb
最后重新启动您的 Squid 代理。
$ sudo service squid3 restart
答案3
步骤 2 - 启用 EPEL repo,安装 SQUID
CentOS 提供的 SQUID 由于某种原因没有 ssl_crtd,...
答案4
在软件包ssl_crtd
中squid-helpers
。在 x86_64 安装中,它位于路径中/usr/lib64/squid/ssl_crtd