我們使用nginx做過正向代理的設定,但是如果希望支持https的話,直接使用nginx則較為困難,而使用在這方面術業有專攻的squid則要簡單的多。這篇文章用于記錄在centos7上安裝和設定squid3.5來實現http和https的步驟。
機器配置
[root@liumiaocn ~]# uname -a
linux mail.163.com 3.10.0-514.el7.x86_64 #1 smp tue nov 22 16:42:41 utc 2016 x86_64 x86_64 x86_64 gnu/linux
[root@liumiaocn ~]#
[root@liumiaocn ~]# cat /etc/redhat-release
centos linux release 7.3.1611 (core)
[root@liumiaocn ~]#安裝squid
安裝命令: yum install squid
確認版本
版本確認: rpm -qa |grep squid
[root@liumiaocn ~]# rpm -qa |grep squid
squid-migration-script-3.5.20-12.el7.x86_64
squid-3.5.20-12.el7.x86_64
[root@liumiaocn ~]#確認ip_forward
ip_forward需要設定為1,缺省centos已設定,詳細如下:
[root@liumiaocn ~]# sysctl -a |grep -w ip_forward
net.ipv4.ip_forward = 1
[root@liumiaocn ~]#修改設定文件
修改前
[root@liumiaocn ~]# grep -n 'http_access deny all' /etc/squid/squid.conf
56:http_access deny all
[root@liumiaocn ~]#修改后
[root@liumiaocn ~]# grep -n http /etc/squid/squid.conf |grep -w all
56:http_access allow all
[root@liumiaocn ~]#啟動squid
systemctl start squid
問題1:libssl錯誤
啟動squid時提示如下錯誤
squid: relocation error: squid: symbol ssl_set_alpn_protos, version libssl.so.10 not defined in file libssl.so.10 with link time reference
原因:未安裝openssl
對應方法: yum install openssl
安裝之后啟動squid即可:
[root@liumiaocn ~]# systemctl start squid
[root@liumiaocn ~]# systemctl status squid
● squid.service - squid caching proxy
loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
active: active (running) since tue 2018-06-05 20:07:56 cst; 8s ago
process: 28548 execstart=/usr/sbin/squid $squid_opts -f $squid_conf (code=exited, status=0/success)
process: 28540 execstartpre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/success)
main pid: 28551 (squid)
memory: 14.3m
cgroup: /system.slice/squid.service
├─28551 /usr/sbin/squid -f /etc/squid/squid.conf
├─28553 (squid-1) -f /etc/squid/squid.conf
└─28557 (logfile-daemon) /var/log/squid/access.log
jun 05 20:07:56 liumiaocn systemd[1]: starting squid caching proxy...
jun 05 20:07:56 liumiaocn squid[28551]: squid parent: will start 1 kids
jun 05 20:07:56 liumiaocn squid[28551]: squid parent: (squid-1) process 28553 started
jun 05 20:07:56 liumiaocn systemd[1]: started squid caching proxy.
[root@liumiaocn ~]#問題2:無法進行域名解析
此時發現無法使用域名只能使用ip來訪問
原因:dns未配置,在squid的配置文件中添加8.8.8.8和8.8.4.4
[root@liumiaocn ~]# grep nameserver /etc/squid/squid.conf
dns_nameservers 8.8.8.8 8.8.4.4
[root@liumiaocn ~]#
[root@liumiaocn ~]# systemctl restart squid
[root@liumiaocn ~]#客戶端的訪問
squid的缺省port為3128,在這里沒有修改,在客戶端使用如下方式即可訪問:
http方式
export http_proxy=http://192.168.163.117:3128
curl http://www.xxx.com
https方式
export https_proxy=http://192.168.163.117:3128
curl https://www.xxx.com
華為云服務器設置鏡像微信移動三級分銷商城開發的好處你知道嗎?我剛才在這個空間下面上傳了一些數據湖南服務器維修哪家便宜云空間在Docker中使用mongodb數據庫的實現代碼雙線云服務器租用價格網站建設對域名的講究 域名注冊時長越久越好么美團公司郵箱是多少