用户工具

站点工具


google:gae:amazon-aws-reverse-proxy

使用免费的Amazon AWS EC2做google app engine反向代理

Amazon提供网络服务称作AWS,Amazon Web Services。AWS包括很多网络服务。

EC2是AWS的云服务器,全称为Amazon Elastic Compute Cloud (Amazon EC2)。

AWS EC2和GAE类似,提供可扩展的主机服务,下面是AWS EC2的官方介绍:

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides
resizable compute capacity in the cloud. It is designed to make
web-scale computing easier for developers.

AWS EC2目前提供一年免费试用服务

免费试用的EC2配置为:

  • 750 hours of EC2 running Linux/Unix Micro instance usage
  • 750 hours of Elastic Load Balancing plus 15 GB data processing
  • 10 GB of Amazon Elastic Block Storage (EBS) plus 1 million IOs, 1 GB snapshot storage, 10,000 snapshot Get Requests and 1,000 snapshot Put Requests
  • 15 GB of bandwidth out aggregated across all AWS services
  • 1 GB of Regional Data Transfer

AWS EC2 GAE反向代理设置

下面说一下大概的GAE反向代理设置

1:首先需要有一个amazon 的帐号,然后在http://aws.amazon.com/申请amazon aws帐号,申请绑定自己的信用卡(amazon 会从你的信用卡中扣取1美元,这只是预授权,只要在使用中不超出免费配额就不会真正扣钱的),注册过程中还需要验证真实电话,输入你的电话然后他会打过来一个,接通后输入验证码即可。

2:需要登录https://console.aws.amazon.com/s3/home 创建一个bucket,这个貌似是用来保存日志文件的。我也不大懂。只知道他跟google storage差不多。然后就可以进入https://console.aws.amazon.com/ec2/home 创建你的实例了。一个实例也就相当于一个vps。在此之前你需要选择好region,即机房的所在地。建议选择西海岸的加州机房。点击‘Launch Instance’,

  • 第一步选择系统镜像,此处建议选 Basic 64-bit Amazon Linux AMI 2011.02.1 Beta 。因为他只需要8g的硬盘,不会超过免费配额。选择别的就要扣你钱了。
  • 第二步选择系统配置,这里当然是选最免费的啦/。请注意。默认选中的不是免费的哦。
  • 第三步貌似没什么特别的直接下一步
  • 第四步是创建密匙,这个密匙一定要保存好了。登录ssh要用。翻墙什么的也靠它了。
  • 第五步是要创建防火墙规则。默认只开22端口的。自己要动手吧http(80)端口加上去。
  • 然后就OK了。

3:创建完ec2实例之后还可以申请一个免费的动态独立ip。然后记得把ip绑定到你的ec2实例实例上。

4:现在可以用putty登录你的ec2安装nginx。

  • 一,到这里http://www.putty.org/ 下载putty(ssh登录工具)和puttygen(密匙转换工具),用打开puttygen点击里面的 load按钮加载你之前在ec2上创建的密匙文件,然后点击‘save private key’保存,接下来用putty登录需要用到这个密匙.
  • 二,打开putty,’host name’填写之前申请的独立ip。port使用默认的22。然后找到Connection→SSH→Auth选项,导入之前用puttygen 生成的密匙文件。
  • 三,接下来点击‘OPEN’进行登录。用户名使用’ec2-user’。,然后在命令行使用 sudo su 能转换到root权限。
  • 四,使用 yum install nginx 命令就能完成 nginx 的安装。
  • 五,使用 cd /etc/nginx 命令跳到nginx配置文件的文件夹。
  • 六,使用 vi nginx.conf 命令打开并修改配置文件。

如下配置放到http下

server {
  listen 80;
  server_name www.freedodo.com;
  location / {
    proxy_redirect off;
    proxy_pass http://ghs.google.com;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}
  • 七,配置保存后用 nginx命令即启动反向代理。

5:修改域名的DNS配置,将A记录的@指向之前申请的独立ip即完成了所有的反向代理设置工作.

参考

google/gae/amazon-aws-reverse-proxy.txt · 最后更改: 2011/09/01 08:13 (外部编辑)