搭建http代理服务器

Posted zenan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建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

 

  1. yum install python-setuptools && easy_install pip  
  2. pip install shadowsocks  


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

 

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


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

 

 
  1. yum install privoxy  


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

 

 

 
  1. listen-address  :8118  
  2. enable-remote-toggle  1  

然后在文件末尾添加:

  1. forward-socks5 / 127.0.0.1:443  

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


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

  

  1. service privoxy restart  


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

 

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

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

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

    1. auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd  
    2. auth_param basic children 5  
    3. auth_param basic realm Squid proxy-caching web server  
    4. auth_param basic credentialsttl 2 hours  
    5. auth_param basic casesensitive off  
    6.   
    7. #  
    8. # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS  
    9. #  
    10. acl ncsaauth proxy_auth REQUIRED  
    11. http_access allow ncsaauth  







以上是关于搭建http代理服务器的主要内容,如果未能解决你的问题,请参考以下文章

用nginx搭建http透明代理

Nginx搭建HTTP正向代理服务器

Centos服务器搭建Squid Http代理请求服务器

Centos服务器搭建Squid Http代理请求服务器

Centos服务器搭建Squid Http代理请求服务器

Centos服务器搭建Squid Http代理请求服务器