最近在研究配置http及socks代理服务器,转载一篇关于http代理的文章。在代理配置之后,可以配置Chrome浏览器如下:
配置普通HTTP正向代理
安装squid3
sudo apt-get install squid squid-common
配置squid3
sudo vim /etc/squid3/squid.conf
搜索此句
http_access deny all
修改为
http_access allow all
启动/重启squid3
sudo service squid3 restart
注意:squid的http默认代理端口为3128
配置HTTPS正向代理(单向认证)
由于Ubuntu 12.04默认安装的squid版本是不支持SSL的,因此只能重新编译支持SSL。
安装编译依赖
cd ~
mkdir squid_src
cd squid_src
sudo apt-get install build-essential fakeroot devscripts gawk gcc-multilib dpatch
sudo apt-get build-dep squid3
sudo apt-get build-dep openssl
sudo apt-get source squid3
sudo apt-get install libssl-dev
sudo apt-get install openssl
修改默认的编译选项,增加SSL支持
vim squid3-3.1.19/debian/rules
在DEB_CONFIGURE_EXTRA_FLAGS字段中增加–enable-ssl
...
DEB_CONFIGURE_EXTRA_FLAGS := --datadir=/usr/share/squid3 \
--sysconfdir=/etc/squid3 \
--mandir=/usr/share/man \
--with-cppunit-basedir=/usr \
--enable-inline \
--enable-ssl \
...
配置编译
cd squid3-3.1.19/
debuild -us -uc -b
安装(编译后的文件存在在上层的squid_src目录下面)
cd ..
sudo dpkg -i squid3_3.1.19-1ubuntu3.12.04.2_amd64.deb squid3-common_3.1.19-1ubuntu3.12.04.2_all.deb squid3-dbg_3.1.19-1ubuntu3.12.04.2_amd64.deb
验证安装后的版本是否支持SSL
squid3 -v |grep enable-ssl
如果看到enable-ssl输出,则说明编译成功。
生成自签名证书
openssl req -new -keyout key.pem -nodes -x509 -days 365 -out cert.pem
移动服务器证书到squid3配置目录
sudo mv cert.pem /etc/squid3/cert.pem
sudo mv key.pem /etc/squid3/key.pem
配置squid3
sudo vim /etc/squid3/squid.conf
搜索https_port,如果搜索,则在搜索到的位置增,搜索不到则在文件的最后增加
https_port 443 cert=/etc/squid3/cert.pem key=/etc/squid3/key.pem
验证配置文件是否配置正确
squid3 -k parse
启动/重启squid3
sudo service squid3 restart
安装stunnel,配置安装目录下的stunnel.conf,把原来的内容都删掉,粘贴下面的内容
client = yes
[https]
accept = 127.0.0.1:8080
connect = www.mobibrw.com:443
设置浏览器代理服务器地址
重新启动stunnel
注意,如果只支持https协议,可以注释掉原来的
http_port 3128