关于ghs.google.com替代方法(完美实现,原创)

关于ghs.google.com替代方法(完美实现,原创)
2009年6月13日补充: 解决了共享范围的控制问题

一) 权宜的方法:

建立  ghs.yourdomain.com  做 A 指向  可用的 ghs.google.com 可用的IP

然后用 ghs.yourdomain.com 替代 ghs.google.com

缺点是: 在国内,你指向的IP可能随时被封.

优点是: 可以免费实现

二) 完美方案:

在国外申请一台机器, 利用反向代理服务器(如:squid , nginx,squid) 指向 ghs.google.com , 而 ghs.yourdomain.com域名 指向这个反向代理服务器. 我已经验证过,完全可以做到.

缺点: 需要些 Money

优点: 只要google 还在支持的服务,永远可以使用. (当然如果你自己太过分了, 连自己代理服务器的IP都被封了, 那就怪自己吧)

设置过程(这里以nginx为例):

1) 下载 nginx  比如:  nginx-0.6.31.tar.gz

2) tar -zxf nginx-0.6.31.tar.gz

3) cd nginx-0.6.31

4) ./configure --prefix=/usr/local/nginx --with-http_realip_module

5) make

6) make install

7) ln -sf /usr/local/nginx/sbin/nginx /usr/sbin/nginx

8 ) 设置反向代理: 编辑 /usr/local/nginx/conf/nginx.conf  ,如:

upstream hosts_yourdomain_com {      --  别名可以随便取

server ghs.google.com:80;   -- ghs.google.com

}

server {

listen       80;

server_name  ghs.yourdomain.com;   --  我自己的 ghs 域名

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

proxy_redirect off;

proxy_set_header Host $host;

proxy_pass http://hosts_yourdomain_com;   --- 前面取的别名

proxy_set_header  x-real-IP  $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

9) nginx运行控制

1、检查配置文件有无语法错误    shell> nginx -t

2、启动(不带任何参数直接运行即可):  shell> nginx
3、重新加载nginx配置 :  shell> killall -s HUP nginx    #//或者 killall -1 nginx
4、处理完当前请求后退出nginx :  shell> killall -s QUIT nginx    #//或者 killall -3 nginx

10)  最后将你的实际域名 做 CNAME 指向 ghs.yourdomain.com.  就大功告成了.

-----------------------------------------
2009年6月13日 补充:
     按如下配置可以解决共享范围的控制问题:  假设限定在 *.abc.com  *.efg.com  这两个域名使用 该自建的GHS服务

upstream ghs_google_com {    #别名可以随便取,反向代理目的地址: Google 的 GHS
   server ghs.google.com:80;  
}

server {
    listen       80;
    server_name  *.abc.com *.efg.com;    #允许 *.abc.com 和 *.efg.com 通过该反向代理服务器
  

    location / {
       proxy_redirect off;
       proxy_set_header Host $host;
       proxy_pass http://ghs_google_com#转向到 Google的 GHS
       proxy_set_header  x-real-IP  $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

server {
    listen       80;
    server_name  *.com *.cn *.org *.mobi *.tel *.asia *.net *.name *.me *.tv *.cc *.hk *.biz *.info;

    location xxxx {         #表示非前面允许的域名的其他域名统统禁止通行,此处的"xxxx"是乱写的   
            #其实可以通过这里指向普通的Web服务(非GHS的服务).
           
#     于是同一个IP即可以做"自制GHS服务",又可以做其他正常的功能.
    }
}


     

关之琳

转载请注明:来自無處不在
本文地址:http://blog.chaoskey.com/2008/11/11/245



22 条评论

我要留言
  • #308604

    混沌 发表于 2010-04-12 at 09:01 回复 引用

    @spring-270606:
    谢谢!
  • #270606

    spring 发表于 2010-04-11 at 01:49 回复 引用

    刚看到这篇文章,试了一下果然可以! 你太油菜啦!
  • #183607

    小鑫 发表于 2010-03-23 at 11:23 回复 引用

    不错,很好的文章。学习了

    打算动手架一个了
  • #26608

    混沌 发表于 2010-01-18 at 18:00 回复 引用

    @so-26607: 呵呵,这和使用那家的vps或 还是使用amazon没有关系把!
  • #26607

    so 发表于 2010-01-18 at 13:15 回复 引用

    你除了amazon还试过哪几家的vps?能比较一下吗
  • #26606

    混沌 发表于 2010-01-18 at 12:08 回复 引用

    @so-27603:应该不影响,甚至还更快。当然和你够买VPS限制有关。
  • #27603

    so 发表于 2010-01-18 at 11:33 回复 引用

    想问一下,这样实施后,只要我Nginx服务器的IP不被封,就算ghs所有的ip都被封了,也能访问到ghs,是吗?性能上影响大吗?
  • #26605

    混沌 发表于 2010-01-17 at 17:30 回复 引用

    @ghs-27602: 我看了一下你的配置文件,同时发现:你配置中的IP: listen 199.71.212.18:80; 但是 ping 你的ghs.sixth.biz 是202.101.224.96 请检查你的配置参数,具体要实际试试才知道。
  • #27602

    ghs 发表于 2010-01-17 at 03:56 回复 引用

    你好, 我配置的时候出现 [emerg]: unknown directive "upstream" in /usr/local/nginx/conf/nginx.conf:12
    这个是什么问题.
  • #10632

    quentinqiao 发表于 2009-10-30 at 19:40 回复 引用

    GOOGLE READER观光客
  • #10621

    混沌 发表于 2009-07-01 at 18:14 回复 引用

    @gho
    windows下和Linux下, 配置文件的写法没有区别.
  • #10620

    gho 发表于 2009-07-01 at 17:14 回复 引用

    如果是windows的 配置文件/nginx/conf/nginx.conf 要怎么写的啊. 我网上找了很久 都没找到答案.
  • #10615

    混沌 发表于 2009-06-13 at 18:07 回复 引用

    @16
    我刚刚试过了 ,windows也能做 nginx 代理. 有 nginx的windows版本
  • #10614

    GG 发表于 2009-06-12 at 20:06 回复 引用

    有人组织一下,一起花点钱,搞个私人的反向代理服务器吗?成员就不要发什么关键词,免得又被封了~~
  • #10613

    混沌 发表于 2009-06-11 at 17:05 回复 引用

    @16
    我没有试过, 但做服务器用的 大部分 不是 windows 系统吧!
  • #10612

    16 发表于 2009-06-11 at 11:05 回复 引用

    windows的能做nginx代理吗 我google了 相关文章太少.
  • #10606

    ghs 发表于 2009-04-11 at 16:56 回复 引用

    Google GHS 域名绑定问题根本解决方法
    http://code.google.com/p/googleappengine/issues/detail?id=1269
  • #9508

    Jarod 发表于 2009-03-08 at 12:41 回复 引用

    谢谢你的技术分享,在国内上网真是件很痛苦的事情呀。。。
  • #9506

    小柯 发表于 2009-03-07 at 16:38 回复 引用

    那位好心人去申请一个反向的代理服务器 ,并且愿意与别人(只能少数人)共享
  • #8595

    林子 发表于 2009-03-07 at 15:37 回复 引用

    哪家虚拟主机能用作反向代理的?
    http://bbs.idcspy.com/thread-38215-1-1.html

    看了你帖子,用亚马逊的还是要money啊,所以想找一下其他实现方法。看到上面那个帖子,可惜没有最后的结果,请看看,可以实现吗?我不懂这些东西呢。
12»