Debian11编译ssl如何让透明代理支持https访问
时间: 2024-03-31 08:36:50 浏览: 108
在Debian 11中,可以按照以下步骤编译安装最新版本的openssl,并配置透明代理支持https访问:
1. 下载最新版本的openssl源码包:
```
wget https://www.openssl.org/source/latest.tar.gz
tar -xzvf latest.tar.gz
cd openssl-*
```
2. 配置、编译和安装openssl:
```
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
sudo make install
```
上述命令中,--prefix参数指定openssl安装的路径,--openssldir参数指定openssl配置文件的路径,shared zlib参数表示启用共享库和zlib压缩支持。
3. 设置环境变量:
为了让系统使用新编译的openssl,需要设置环境变量。可以在/etc/profile文件中添加以下内容:
```
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/openssl/bin:$PATH
```
然后运行以下命令使环境变量生效:
```
source /etc/profile
```
4. 安装squid代理服务器:
```
sudo apt-get install squid
```
5. 配置squid:
编辑squid配置文件/etc/squid/squid.conf,添加以下内容:
```
http_port 3128 transparent
https_port 3129 transparent cert=/etc/squid/ssl_cert/myCA.pem key=/etc/squid/ssl_cert/myCA.pem
sslproxy_cafile /etc/squid/ssl_cert/myCA.pem
ssl_bump server-first all
```
上述配置中,http_port设置为3128,https_port设置为3129,并开启了透明代理模式。sslproxy_cafile指令用于指定SSL证书的路径,ssl_bump指令用于拦截和转发https请求。
6. 生成代理服务器的证书:
```
sudo mkdir /etc/squid/ssl_cert
cd /etc/squid/ssl_cert
sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout myCA.pem -out myCA.pem
```
7. 重启squid服务:
```
sudo service squid restart
```
完成上述配置后,即可通过透明代理服务器访问https网站。注意,客户端需要信任代理服务器的SSL证书,否则会提示证书不受信任的错误。可以将myCA.pem证书文件复制到客户端并导入到浏览器或操作系统的证书信任列表中。
阅读全文