很多年前,当我只会灌水还不会写程序的时候,大栗子已经移植一塌糊涂代码到雁塔上了。很多年后,当我然基本上还是个Windows用户的时候,大栗子在N年前就玩遍Linux和网络服务器配置了。话说我叽歪Linode太贵,上周五他忽然告诉我,他发现他的100块钱/年的虚拟空间(30G/m)和Linode都是在同一机房,也许除了VPN之外,可以在他的虚拟空间搭个代理。说干就干,结果还让他干成了,方法如下:
1、前提:虚拟空间必须是在国外的,能访问到ghs.google.com的;有一个已经绑定GAE的域名,设为abc.com
2、假定你有一个GAE APP,绑定了abc.com,有两个子域名,分别为stock1.abc.com,stock2.abc.com。
3、在虚拟空间创建stock1.abc.com这个子域名,在ftp目录下找到该子域名的目录,加入一个.htaccess文件,内容如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://stock2.abc.com/$1 [P]
</IfModule>
3、在DNS设置那里,
创建一条A记录,ghs.abc.com 虚拟主机IP
stock2.abc.com CNAME到ghs.google.com
stock1.abc.com CNAME到ghs.abc.com
至此,给GAE做的代理就完成了。
发现这个做法有一个缺点,我在url中如果写成http://stock1.abc.com/http://eee.fff.ccc/head.gif,代理会将该url改写为http://stock1.abc.com/http:/eee.fff.ccc/head.gif,也就是url参数里的http://变为了http:/,少了一个反斜杠。据与VPS的反向代理做比较,VPS做的反向代理没有此现象。
没关系了,反正程序是自己写的,我在接受参数的时候,认为多加回一条反斜杠,问题暂时得已解决。
我明天试试Amazon的Aws,如果不超出流量的话,免费一年,每月30G流量,弄个反向代理和搭个WP应该没问题吧?
...