squid反向代理,一定要知道后端真实服务器的源IP是什么才能配置
vim /etc/squid/squid.conf
# Squid normally listens to port 3128
http_port 80 accel vhost vport
cache_peer 119.75.218.70 parent 80 0 originserver name=a
cache_peer_domain a www.baidu.com
cache_peer 115.159.51.96 parent 80 0 originserver name=b
cache_peer_domain b www.apelearn.com
如何配置可以让squid代理后端web上的所有域名?
加一行:cache_peer 192.168.10.111 80 0 originserver 这样可以代理10.111上80端口下的所有网站
transprant, accel vhost vport )
transprant 用来做透明代理
accel 表示代理为加速模式,如果不加accel,那么squid就是单纯的代理,不缓存数据,而加上它后,客户端请求会直接由squid服务器回答而不再把请求转发至真正的web服务器上。配置反向代理时,可以不加accel,但需要加上vhost,这是用来区分代理后端哪些域名的,如果不加则无法访问,vport如果代理的都是80端口可以不加,但是如果不是80端口就得加上。
测试一下是否正常访问:
[[email protected] squid]# curl -x127.0.0.1:80 www.baidu.com -I
HTTP/1.0 200 OK
在hosts里要添加本机IP和对应的www.baidu.com
检查错误:squid -kcheck
重启:squid -kre