squid 代理服务器 用户认证

张映 发表于 2015-07-14

分类目录: linux

标签:, , ,

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

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

方法二,搭个代理服务器,请参考:squid stunnel 代理服务器 安装 配置


1,添加认证用户 test123

# htpasswd -c /etc/squid/passwd test123

2,配置代理以及用户认证

# 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     //普通用户需要通过认证才能访问
http_access deny all   //最下面,匹配是从上到下的

3,重启squid

# /etc/init.d/squid restart

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

4,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, "192.168.1.18:7071");    //ip/端口
	 curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'test123:123456');  //认证用户和密码
	 $result=curl_exec($ch);
	 curl_close($ch);
 	return $result;
}

echo testCurl("google.com");


转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/linux/1754.html

留下评论

留下评论
  • (必需)
  • (必需) (will not be published)
  • (必需)   1X4=?