如果想上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");