Squid 配置(新)正向代理、反向代理.note

noteId: WEB5b5dc658b6cf93fcbf5417602af8b644 · 原始路径:/ALL/Linux - A模块/服务配置/Squid 代理/Squid 配置(新)正向代理、反向代理.note · 图片:27 · 附件待处理:0

 
·(注意)如果squid本地有防火墙:
如果squid本地有防火墙,那么必须在 input 链放行 lo 接口,否则squid无法访问到lo接口重启将会报错
 
 
 
一、配置 Squid 正向代理:
 
 
1、配置正向代理(http):
apt install -y squid
 
(1)编辑 squid配置文件:
cd /etc/squid
cp squid.conf squid.conf.bak
egrep -v '^$|^#' squid.conf.bak > squid.conf    //过滤出除了 以 '$' 和 '#' 开头 以外的内容,将其重定向到文件中
vim squid.conf
设置为允许所有访问
 
systemctl reload squid
 
 
(2)在 客户端上进行访问:
不需要确保 客户端能够访问到 Web,只需要确保 squid能够访问到 Web,客户端能够访问到 Squid
 
不需要客户端能够访问到 Web,也不需要 客户端能够将域名解析到 Web,什么都不需要,可以理解为,配置了正向代理,那么客户端会直接将请求转发给 Squid,本地不会再进行额外的操作
· 1、设置命令行代理:
curl -x http://125.249.160.2:3128 -L http://www.cisco.com
curl -x http://[squid服务器IP地址]:[squid服务器端口] -L [要访问的网站]
 
 
· 2、配置环境变量来设置 命令行代理:
export http_proxy=http://125.249.160.2:3128    //输入 Squid的地址和端口
curl http://www.cisco.com
 
 
或:
 
vim /etc/enviroment
 
source /etc/enviroment    //让系统重新读取该文件,以读取变量
export    //查看所有变量
 
 
· 3、在浏览器上设置代理:
 
访问:
 
 
 
 
2、正向代理(https):
其实无需再进行额外的配置,因为默认就可以代理,只需要开启即可
 
(1)命令行代理 https:
默认就可以,但是如果证书不信任将会报错,可以使用 -k 跳过证书报错
 
 
 
(2)浏览器代理 https:
勾选,或直接在下方的 HTTPS Proxy 中输入 Squid 的地址也行
 
 
3、配置正向代理(将 http 重定向到 https):
使用 deny_info 的话,默认将会是 302 重定向
 
(1)配置 Squid(默认 302 重定向):
vim /etc/squid/squid.conf
 
ospf
 
 
这三条每一条都是必须要有的,才能完成重定向。
 
 
 
(3)如果要配置 301 重定向:
vim /etc/squid/squid.conf
 
 
 
测试:
 
 
 
二、配置 Squid 反向代理:
需要将 DNS 解析指向 Squid反向代理服务器(对于客户端而言,此时的 Squid反向代理就是 Web服务器)
 
1、配置反向代理(Client 访问 Squid使用80端口,Squid 访问 Web使用80端口):
vim /etc/squid/squid.conf
 
 
 
 
 
2、配置反向代理(Client 访问 Squid使用 https,Squid访问 Web 使用 80)
适用环境: Squid 与 Web 在 同一网段
 
vim squid.conf
 
 
· 测试:
 
 
3、配置 反向代理(Client 访问 Squid 使用 https,Squid 访问 Web 使用 443)
适用环境:所有( 例如,Squid 与 Web 不在同一内网,相互访问需要通过公网)
 
defaultsite 可以省略
vim squid.conf
# 该配置可能过期
 
或:
apt install -y squid-openssl	//需要先安装 squid-openssl 否则无法使用
 
 
 
· 测试:
因为配置了 接受80端口的请求,因此 80端口也能访问:(但是后端 Squid 访问 Web 还是通过 443)
 
443 访问: