Ubuntu 编译安装squid3并启用透明代理+支持SSL

转载地址:Ubuntu安装squid并启用SSL_mao1059568684的专栏-CSDN博客_squid ssl

由于公司网络限制,无法访问外网某些网站。为了突破限制,需要在外网服务器上安装一个 squid 作为代理,同时为了安全,启用 SSL。安装openssl
首先需要安装 openssl 及相关的依赖。

apt-get install openssl
apt-get install libssl-dev
apt-get install ssl-cert
安装squid
直接使用 apt 安装的 squid 没有启用 SSL,所以需要使用源代码编译安装。

---
vi /etc/apt/sources.list

add to sources.list

deb-src http://archive.ubuntu.com/ubuntu trusty main restricted #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #Added by software-properties
deb-src http://security.ubuntu.com/ubuntu trusty-security restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-proposed restricted main universe multiverse #Added by software-properties

apt-get update
---

apt-get source squid
apt-get build-dep squid

squid安装出现没有libecap2-dev处理  [ https://blog.csdn.net/zyzn1425077119/article/details/54585383  【 https://launchpad.net/ubuntu/+source/libecap/0.2.0-1ubuntu4

apt-get install devscripts build-essential fakeroot
 
# squid 版本为 3.3.8
cd squid3-3.3.8
 
# 修改编译参数
vim debian/rules
 
# 在 DEB_CONFIGURE_EXTRA_FLAGS 配置中添加
# 注意 with-open-ssl 的值为实际 openssl.cnf 所在路径
--enable-ssl \
--with-open-ssl=/usr/lib/ssl/openssl.cnf \
 
# 编译 squid
./configure
debuild -us -uc -b
 
# 安装
cd ..
apt-get install squid-langpack
dpkg -i squid3-common_3.3.8-1ubuntu6.2_all.deb
dpkg -i squid3_3.3.8-1ubuntu6.2_amd64.deb
生成 SSL 证书
可以使用自签名证书,或者去 startssl.com 申请一个有效期1年的证书。具体细节就自行百度吧。

配置 squid
将配置文件修改成如下内容。我这里没有启用身份验证,如果需要可以自行添加。squid 端口号修改为 9999,也可以按需修改。

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
 
http_access deny !Safe_ports
 
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow all
 
# 修改为证书路径
https_port 9999 cert=/ssl/ssl.crt key=/ssl/ssl.private.key
 
coredump_dir /var/spool/squid3
 
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .               0       20%     4320
 
via off
forwarded_for delete
dns_v4_first on
需要注意的是,ssl.private.key 是证书的私钥,不需要密码保护,不然 squid 无法启动。可以使用下列命令生成无密码保护的私钥:

openssl rsa -in ssl.key -out ssl.private.key
配置防火墙
我使用的是 ufw,所以运行

ufw allow 9999
重启 squid 就可以正常使用了。

禁用 squid 升级
由于我们是使用源代码编译的 squid,所以升级会破坏配置,需要禁用 squid 升级。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值