站点是 ht国外服务器tp://www.jiyin.it 今天刚做好反向代理。
发帖或者回帖之后就跳到 http://geekiwi.appspot.com 去了,被墙。。
上次别人帮忙弄时就没这个问题,是我的nginx.conf没写对吗?
纠结中。。。
1. 用 upstream
http://wiki.nginx.org/HttpUpstreamModule
2. 记得在 server { location / { ... } } 里要加入 proxy_set_header Host $host;
看了一下,upstream是做负载均衡的。是因为我没做伏在均衡所以出现上面的问题吗?
不太懂这个,所以第一步没做。
第二步做了:
server {
listen 80;
server_name jiyin.it www.jiyin.it *.jiyin.it;
location / {
proxy_pass http://geekiwi.appspot.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
但是这样访问jiyin.it之后就跳转到google.com了。。。奇怪啊。。
你的网页写相对url,不要写成长url了
就是写的相对url。
我这样写就可以
server
{
listen 80;
server_name jiyin.it;
location / {
proxy_pass http://geekiwi.appspot.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
尝试下这样配置:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://ghs.google.com/;
}
又见到你啦,刚看到你的邮件了。按你上面写的就没问题,发帖回帖也不会跳转到geekiwi.appspot.com了。
多谢!
新的问题又出现了。在搞定了jiyin.it之后,我还有另一个域名2wen.it,是用跟jiyin.it同样的配置写的,但是访问时却是google的404错误页面。2wen.it的原始地址是 http://erwenit.appspot.com 。
server {
listen 80;
server_name jiyin.it www.jiyin.it *.jiyin.it;
location / {
proxy_pass http://ghs.google.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
server {
listen 80;
server_name 2wen.it www.2wen.it *.2wen.it;
location / {
proxy_pass http://ghs.google.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
erwenit.appspot.com 没有绑定 2wen.it吧,直接改了hosts打开也是404。
我绑定了呀,而且我改了本地的hosts后能直接访问erwenit.appspot.com的。
203.208.45.206 erwenit.appspot.com
如图
上面是绑定了我的vps。
下面是刚改了本地的hosts后直接访问 erwenit.appspot.com ,能打开。
我觉得这个应该是解决办法: http://www.ha97.com/1747.html
两个gae应用同时放在一个nginx.conf里,proxy_pass还都是 http://ghs.google.com ,估计nginx就分不清哪个是哪个了,所以需要分别指定。
我试试。
按照上面的办法,失败了。。
现在顶级域名直接cnname到ghs就可以访问
那是不是需要在gae的app设置里把顶级域名和app绑定?要不然那么多app都把顶级域名cnname到ghs,google怎么分的清哪个app对应哪个域名呢?
刚才试了顶级域名直接cnname到ghs,结果还是跳转到了google首页。
proxy_set_header Host your_appid.appspot.com;
现在是绑定的,可以访问了。
www.2wen.it的解析不对
http://www.just-ping.com/index.php?vh=www.2wen.it&c=&s=ping!
@paloalto
刚看了下你的网站貌似还没有配置好吧?
建议使用下面的配置试试看:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
client_header_buffer_size 64k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 16k;
proxy_buffers 32 16k;
proxy_busy_buffers_size 64k;
上面这段放到nginx的http里面,在server里仅放置:
server {
server_name www.beta4better.me;
location / {
proxy_pass http://ghs.google.com/;
}
}
这样应该可以。
Good luck!
现在好啦。昨天还是前天来着,google把我服务器的IP封了,今天刚刚解封。
http://www.v2ex.com/t/30243
两年多了,今天重新迁移数据,在新的服务器上用你的办法,又成功了。特此感谢。