原理:
1 | 使用 squid 搭建http代理。 |
服务端配置
1. 安装 squid, stunnel, openssl
2. 启动 squid http代理
配置 squid
1 | http_port 3128 # squid 默认端口 3128 |
3. 启动 stunnel 服务端
- 创建证书
openssl req -new -keyout privatekey.pem -nodes -x509 -days 365 -out publiccert.pem
- 合并
cat privatekey.pem publiccert.pem >> stunnel.pem
- 配置服务端 stunnel
/etc/stunnel/stunnel.conf
1 | client = no |
- 启动 stunnel
客户端配置
1. 安装 stunnel
2. 启动 stunnel 客户端
- 拷贝之前创建的证书
stunnel.pem
- 拷贝相同配置,更改
client=yes
- 启动
浏览器客户端配置
配置 http proxy 指向上一个stunnel客户端 (如http://127.0.0.1:5000
)
squid + stunnel 代理 (需客户端导入stunnel证书)
不在需要通过stunnel客户端发起加密连接。(但是需要浏览器端显式导入证书)
服务端配置
同上,区别为 stunnel 配置中 [sproxy]
服务改为 [squid]
浏览器客户端配置
- 导入公钥 (
publickey.pem
重命名为publickey.crt
导入即可) - 配置 https proxy
https://<服务器ip>:5000
squid 代理配置密码验证
- 用apache工具生成密码文件
htpasswd -c passwd.file
(安装方式: (ubuntu)apt-get install apache2-utils
) - 额外配置 squid
1 | ... |