centos中squid 代理服务器 用户认证

作者:袖梨 2022-06-30

如果想上google,或者其他天朝内无法访问的网站,怎么办呢?前提要有一个,不在大天朝局域网内的VPS

方法一,搭个vpn,请参考:vpn 安装配置详解

方法二,搭个代理服务器,下面会详细的说一下

1,安装squid

# yum install squid 

2,添加认证用户 test123

# htpasswd -c /etc/squid/passwd test123 

3,配置代理以及用户认证
 
# vim /etc/squid/squid.conf  //添加以下内容 
 
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd  //认证方式为basic,认证程序路径和密码文件路径 

auth_param basic children 5        //认证程序的进程数 
auth_param basic credentialsttl 1 hours    //认证有效时间 
auth_param basic realm my test prosy       //浏览器显示输入用户/密码对话框时,显示的内容 
acl test123 proxy_auth REQUIRED 
http_access allow test123     //普通用户需要通过认证才能访问

4,开放防火墙端口
 
# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT   //squid默认端口,3128 

5,重启squid

# /etc/init.d/squid restart 

这样squid代理就搭好了,浏览器里面设置一下代理IP和端口,会弹出认证框,输入用户名和密码就行了。

6,php也可以利用代理服务器
 
function testCurl($url){ 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $gurl); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); 
     curl_setopt($ch, CURLOPT_PROXY, "23.220.*.*:3128");    //ip/端口 
     curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'test123:123456');  //认证用户和密码 
     $result=curl_exec($ch); 
     curl_close($ch); 
    return $result; 

 
echo testCurl("google.com"); 

相关文章

精彩推荐