AWS 上搭建翻墙代理的几种方法

由于处于墙内大局域网,很多时候想查看国外的一个技术站时,发现是被墙掉的,网上的很多代理又不靠谱,不过目前可以申请台AWS主机(免费试用一年)自建代理翻墙程序。这里就将几种网上常见的代理方法汇总下,如TinyProxy、kingate、反向代理、shadowsocks。

一、TinyProxy代理

Tinyproxy的安装配置十分简单,这里以ubuntu为例(源里有,可以直接装)。其他版本的linux可以直接git clone https://github.com/tinyproxy/tinyproxy.git下载源码编译安装。

sudo -s
apt-get install tinyproxy
vi /etc/tinyproxy.conf
Port 8888
#Allow 127.0.0.1
LogLevel Error
/etc/init.d/tinyproxy restart

因为要AWS默认只允许22端口连接,所认需要在后台左侧的“安全组”下该实例对应的组下,添加新开放的端口。这个步骤必不可少,下同。见下图:

tinyproxy

使用的时候直接在浏览器里配置上IP和端口就可以了。

本方法配置简单,不过由于不涉及到认证,所以很容易让别人盗用耗费流量,并导致AWS主机流量超标扣费。如果担心这个可以在要用的时候开始服务,不用的时候关闭服务。类似TinyProxy的软件还有kingate代理,不过kingate更智能一些,可以对代理主机的IP进行限定,有兴趣的可以要看我的另一篇博文---安装kingate代理

二、nginx反向代理

作为著名的web 应用程序,nginx可以实现负载均衡、反向代理、镜像等功能。这里以反向代理为例---毕竟个人搞台服务器,还是以搭建自己的站点据多,所以个基本上不用额外增加软件。nginx的安装方法这里略过,这里只粘上配置示例:

server {
    listen 8080;
    server_name XYZ.yourdomain.com;
    if ($host !~* yourdomain\.com){
        rewrite ^/(.*)$ http://www.yourdomain.com/ permanent;
    }
    location / {
        rewrite ^/(.*)$ http://www.yourdomain.com/ permanent;
    }
    location ^~ /facebook/ {
        proxy_redirect off;
        proxy_pass https://graph.facebook.com/;
    }
    location ^~ /twitter/ {
        proxy_set_header Host api.twitter.com;
        proxy_pass https://api.twitter.com/;
    }
    location ^~ /google/accounts/ {
        proxy_redirect off;
        proxy_pass https://accounts.google.com/;
    }
    location ^~ /google/apis/ {
        proxy_redirect off;
        proxy_pass https://www.googleapis.com/;
    }
    location ^~ /google/http/ {
        proxy_redirect off;
        proxy_pass http://www.google.com/;
    }
    location ^~ /google/https/ {
        proxy_redirect off;
        proxy_pass https://www.google.com/;
    }
    location ^~ /wordpress/api/ {
        proxy_redirect off;
        proxy_pass https://api.wordpress.org/;
    }
}

同样,对应的安全组中要对应的开一下端口。原来脸书接口:https://graph.facebook.com/oauth/access_token,现在变成:http://XYZ.yourdomain.com:8080/facebook/oauth/access_token 。当然,这里也可以让nginx直接监听80,相应的后面的请求URL里的端口也是80 。

为了防止有人恶意盗刷流量也可以加些判断,如下:

if ($host !~* 361way\.com){
    rewrite ^/(.*)$ http://www.361way.com/ permanent;
}
if ($http_user_agent !~* Firefox){
    rewrite ^/(.*)$ http://www.361way.com/ permanent;
}

当然,nginx还有其他模块,如镜像模块,我们可以利用该模块,通过自身的域名镜像我们需要访问的站点,并加入一些我们想推广的内容。具体可以能看我的博文---nginx网站镜像--HttpSubsModule

三、ShadowSocks代理

ShadowSocks服务端支持多种语言,这里我就以python版本的服务端为例。安装配置方法如下:

$ pip install shadowsocks
或
$ git clone https://github.com/shadowsocks/shadowsocks.git
$ cd shadowsocks
$ python setup.py

安装完成后,编辑配置文件/etc/shadowsocks.json

{
    "server":"my_server_ip",
    "server_port":8388,
    "local_port":1080,
    "password":"361way.com",
    "timeout":600,
    "method":"table"
}

配置完成后,可以使用下面的命令启动:

ssserver -c /etc/shadowsocks.json

其他语言版本的server端安装方法可以参考shadowsocks官网文档

而客户端分支持windows、linux、Mac osx 、android、IOS全平台支持,相应的版本可以去https://shadowsocks.org/en/download/clients.html 下载。这里以windows下的客户端为例:

shadowsocks

shadowsocks的高级配置部分可以参看下官网介绍

本篇先写这么多吧,其实代理方法还很多,其他还有如goagent代理、vpn代理、web在线代理。有空了再理下。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: 杂七杂八 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.