zoukankan      html  css  js  c++  java
  • 用亚马逊云建代理服务器

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系。

    我们用电脑、平板、手机等访问互联网时,本地设备和服务器之间的通信有可能因为某些不可控因素被切断。这种情况下,我们可以采用“曲线”的方式,让一个第三方的服务器来做接力,从而连接目标服务器。 代理服务器可以绕过许多基于IP地址的限制。例如某视频网站只允许日本的IP访问,那么可以借助一台在日本的代理服务器,来让视频网站误以为访问者是一台身在日本的电脑。

    我将使用亚马逊的云服务(AWS)来建立代理服务器。首先需要有AWS的EC2实例。登录AWS网站,按照指导创建即可。可参考亚马逊云架设WordPress博客。选择节点时,最好用距离中国较近的节点,如东京。实例建立后,保存好登录验证用的.pem文件,并记录下IP地址。下面以199.199.199.199的IP地址为例。

     

    建立代理服务器

    我选择的代理服务器软件是Squid。登录EC2实例,在命令行下安装Squid:

    sudo apt-get install squid3

     

    编辑/etc/squid3/squid.conf文件。这个配置文件说明了Squid的运行方式。squid.conf的设置很灵活,下面是一个最基本的设置:

    # 控制列表,定义all
    acl all src all
    
    # 允许all访问
    http_access allow all
    
    # squid监听的目标端口
    http_port 2046

     

    重启Squid服务器,以便加载新的配置:

    sudo service squid3 restart

     

    现在,你已经有了私人的代理服务器,可以更改本地电脑的网络设置,以便使用代理服务器。在Mac OSX上,在System Preferences->Network->Advanced->Proxies中填上代理服务器的IP地址和端口,就可以开始使用代理服务器了:

    199.199.199.199为代理服务器的IP。2046是我们在conf文件中设置的代理端口。在Windows和其他Linux系统中,也可以在系统中设置网络,从而在全局使用代理服务器。也可以在浏览器的设置中启动,只是局部的在浏览器内使用代理服务器。

    使用SSH隧道连接代理服务器

    上面的通信中,Squid代理服务器只起到了接力的作用。但客户端与Squid服务器的通信依然是明文,所以通信安全无法保障。为了进一步加强通信的私密性,可以使用SSH隧道(SSH Tunnel),在本地电脑和代理服务器之间建立秘密通道。

     

    建立隧道

     

    在Unix电脑上,可以在命令行直接使用ssh:

    ssh -i Tokyo-VPN.pem -N -L2046:localhost:2046 ubuntu@199.199.199.199

    上面的命令中,Tokyo-VPN.pem是创建EC2实例时的PEM文件。通过这个命令,本地的2046端口和代理服务器的2046端口将建立SSH隧道。两者之间的信息将加密传输,而不用担心外部监听和干扰。

    还要更改本地代理设置,启用SSH隧道:

    需要更改的地方很简单,把之前的代理服务器地址199.199.199.199改为127.0.0.1。

    访问测试:

     

  • 相关阅读:
    编写高质量的代码,改善c#程序的157个建议_之1~10
    文件指针创建失败!File *fp失败
    一拜天地
    现金流中的机会,及其评估(摘抄)
    隐藏Mac Dock 中的某个图标
    vim快捷方式
    mac 快捷键
    mysql explain
    druid 连接池配置
    分布式数据库中间件
  • 原文地址:https://www.cnblogs.com/vamei/p/5302707.html
Copyright © 2011-2022 走看看