在debian/ubuntu使用squid架设Https正向代理服务器

last modified : 2015-12-01 | published: 2015-01-07 | category:

环境

编译带--enable-ssl参数的squid3

debian上的squid默认编译时没加入--enable-ssl参数,所以要手动编译squid。 编辑/etc/apt/sources.list

deb-src http://ftp.jp.debian.org/debian/ wheezy main

在原有二进制源下,加入deb-src源,例如wheezy则加入,并用apt-get update更新一下。 接下来,将源代码从源中下载下来

cd /usr/src
apt-get source squid3
cd squid3-3.x.x

安装编译需要的依赖

apt-get build-dep openssh
apt-get build-dep openssl
apt-get build-dep squid3
apt-get install devscripts build-essential fakeroot debhelper bzr-builddeb checkinstall

编辑debian/rules,在DEB_CONFIGURE_EXTRA_FLAGS字段中加入--enable-ssl

输入dpkg-buildpackage,将会自动打包成deb包,保存到上一级目录(/usr/src)。

试用dpkg -i命令安装这些deb包,我们需要安装的有:

squid3-common_3.3.8-1ubuntu6.2_all.deb
squid3_3.3.8-1ubuntu6.2_amd64.deb

配置https正向代理 编辑/etc/squid3/squid.conf,加入

https_port 443 cert=/etc/squid3/insider.crt 
key=/etc/squid3/insider.key 
cafile=/etc/squid3/root_bundle.crt    

insider.crt和insider.key 分别是网站的HTTPS证书和私钥。 root_bundle.crt是证书链,多级链可以用文本编辑合并下。 配置基本认证 编辑/etc/squid3/squid.conf: 在acl前加入

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwd

在acl最后加入

acl ncsa_users proxy_auth REQUIRED

在http_access deny all前加入

http_access allow ncsa_users

使用apt-get install apache2-utils命令安装htpasswd。

使用htpasswd -c /etc/squid3/passwd username创建用户。

使用reload squid3加载配置文件。