内网通过前置机squid代理回调商户服务器(callback)

cache_dir ufs /var/spool/squid 100 16 256 read-only

安装squid,yum安装方便快捷咯~~~

squid.conf

 squid.conf

squid本身就可以设置只允许内网的机器使用代理,当然,我们的业务要实时的callback,便要关闭squid的缓存,不然在缓存期内,只能一次成功通知合作服务器了

编辑/etc/profile,加入:

http_proxy=http://192.168.20.20:3128 # 分别指定http、https、ftp协议使用的代理服务器地址
https_proxy=http://192.168.20.20:3128
ftp_proxy=http://192.168.20.20:3128
no_proxy=192.168.20. # 访问局域网地址(192.168.20.0/24网段)时不使用代理,可以用逗号分隔多个地址
export http_proxy https_proxy ftp_proxy no_proxy

在前置机squid防火墙上加入开放3128端口给内网的机器

firewall-cmd --zone=public --add-rich-rule="rule family='ipv4' source address='10.170.31.208' port port='3128' protocol='tcp' accept" --permanent

重启防火墙。。。

这样,内网的机器就能上网了。而且因为内网中的多台server都是通过前置机的nginx代理出去的,各个机器的回调日志记录都可以在squid的日志中查到,万一业务出错,log还统一了。

squid.log

squid.log

在实际操作过程中,使用php的curl扩展,貌似不能通过/etc/profile设置的代理,需要显示的手动加入

curl_setopt( $ci , CURLOPT_PROXY , "HTTP://10.170.54.139:3128" );

curl_pxoxy

curl_pxoxy

评论

目前评论:0   

点击加载更多评