红联Linux门户
Linux帮助

squid安装及配置网络代理的流程

发布时间:2016-05-12 10:41:31来源:linux网站作者:AwayIsBlue

网络代理可以使用多种软件,我使用过3proxy,及squid,3proxy的资料很难看,软件也不太好有。用squid资料就比较多,而且比较容易有。


squid安装及配置

安装参考(英文):https://www.linode.com/docs/networking/squid/squid-http-proxy-ubuntu-12-04
这个是ubuntu的,但我用的系统是centos安装及配置有一些不一样。以下是主要的步骤。

1.使用yum install -y squid安装squid。
2.cd /etc/squid/进入squid的配置文件夹。配置文件,我们需要用到的是squid.conf,这个是当squid启动时默认加载的配置文件。
3.使用htpasswd来生成密码(如果你没有这个程序,可以通过yum install -y httpd-tools来下载)。方法是:
touch /etc/squid/squid_passwd来生成一个文件,用于存储用户名及密码。
htpasswd /etc/squid/squid_passwd user1,然后它会提示你输入密码。这样子就生成了一个叫user1账号了。
4.打开squid.conf并把下面的内容添加到里面:

auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

当然,这里面使用到了ncsa_auth这个程序,它的路径你的可能跟我的不一样,可以通过rpm -ql squid | grep ncsr_auth来查看。
你也可以修改其它的内容,比如说http_port,它默认的是3128,你可以改成其它的。

这样子就配置好了,你可以通过service squid start来启动服务器。然后客户端就可以连接了。


客户端连接代理

服务器代理打开后,我们可以使用客户端连接代理。我这里使用node.js的superagent-proxy(https://github.com/TooTallNate/superagent-proxy)来演示一下,主要说明了使用http proxy的格式问题。

var request = require('superagent');

// extend with Request#proxy()
require('superagent-proxy')(request);

// HTTP, HTTPS, or SOCKS proxy to use
var proxy = 'http://user1:password@102.224.164.03:3128';

request
.get('https://encrypted.google.com/')
.proxy(proxy)
.end(onresponse);

function onresponse (err, res) {
if (err) {
console.log(err);
} else {
console.log(res.status, res.headers);
console.log(res.body);
}
}

重点在于前面的var proxy = 'http://user1:password@102.224.164.03:3128';这一句,通过这种形式的连接,我们就可以使用squid的代理了。


使用高匿的方法

在使用代理的时候,我们有时需要隐藏自己的ip地址,方法是在squid.conf加上:

# ANONYMOUS PROXY
forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

配置好后,若squid已经启动过了,可以通过service squid restart来重新启动。


本文永久更新地址:http://www.linuxdiyf.com/linux/20570.html