搭建自己的http代理服务器

由于在某些特定场景下,我们的外网访问会受到限制,如果有一些访问需求的话就需要一个代理作为中转了。

首先需要一台机器作为中转的服务器,这时候当然要去阿里云买一台啦微笑。操作系统一定要选Linux,我使用的是CentOS。

之后的主要目标是在这台机器上搭建一个http代理了。当然肯定不可能自己从头开始写,用现有的轮子就行。我使用的是Shadowsocks+Privoxy实现socks5代理转http代理。

1.连接到这台机器上,推荐使用secureCRT。输入机器的ip,端口是22,再把用户名密码输进去就行了。

2.安装shadowsocks,参考https://github.com/shadowsocks/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

yum install python-setuptools && easy_install pip
pip install shadowsocks

安装之后后台运行即可,监听443端口

sudo ssserver -p 443 -k password -m rc4-md5 --user nobody -d start

3.安装Privoxy,不同系统指令有差别,下面是centos:

yum install privoxy

4.修改文件/etc/privoxy/config ,修改如下属性值:

listen-address  :8118
enable-remote-toggle  1


然后在文件末尾添加:

forward-socks5 / 127.0.0.1:443


修改文件可以使用vi指令,也可以使用FIllZilla直接拉下来文件再覆盖上去(我就是这么用的)。


5.启动Privoxy即可开启http代理。

service privoxy restart

到此就可以直接使用这台机器作为http代理了,端口号为8118

除此之外,可以用另一种方法配置http代理服务器,见下链接

http://www.piaoyi.org/network/Linux-Squid-HTTP-ip.html

这种方法可以配置用户名和密码。需要注意的是由于Squid版本不同,一些配置的路径可能稍有变化,配置的时候注意一下:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
acl ncsaauth proxy_auth REQUIRED
http_access allow ncsaauth




没有更多推荐了,返回首页