Total Pageviews

Monday, 6 November 2017

apache服务器下,用htaccess实现反向代理,从而访问被封的网站

如何利用.htaccess文件来实现反向代理,顺畅的访问Google App Engine网站(其实包括任何被封锁的网站)
前提:
Apache服务器,支持自定义.htaccess文件,服务器启用了apache的mod_proxy模块。部分免费主机会禁用这个模块,至于如何检测是否开启,不太清楚,我用笨办法:直接去试,能用就表示启用了。
方法:
其实很简单,就是利用 .htaccess文件将域名反向代理到你的GAE二级域名。
首先你需要在你的空间做好域名绑定,之后就可以做反向代理了。
比如你的GAE网站的地址是http://id.appspot.com,那么在你的.htaccess文件里应该这样写:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://id.appspot.com/$1 [P]
请注意最后是 [P],而不是平时我们使用域名重定向的[R]。[P]代表的是proxy,而[R]是代表Redirect。

这样你就可以通过你的域名访问你的GAE空间了。
原始地址(被封的目标网址)

缺点:
如果你是用GAE架设博客,这样虽然能正常访问和留言,但是不能写文章的,写东西还是需要翻墙。因为你只是把域名反向代理到id.appspot.com。虽然可以达到绑定域名的效果,但实际上并不是通过正规的方式绑定域名(正规是cname到ghs),所以用反向代理的域名登陆时,跳到google的页面,而google这时只认得id.appspot.com 这个域名,所以最终还是跳到id.appspot.com。不过你可以先用一个二级域名给GHS做反向代理,再把你的域名CNAME到这个二级域名.

No comments:

Post a Comment