Closed rexdf closed 8 years ago
似乎是IP被封了 shadowsocks都没法正常访问 换IP果断可以
有办法把nginx的upstream转发到ssh tunnel吗?不大想在其他机器上再做一个代理。
你可以把 scholar 流量都导入到另一个 vps
upstream scholar.google.com {
server <another vps>:80;
}
server {
...
location / {
...
google_ssl_off "scholar.google.com";
...
}
...
}
然后另外一台 vps 很简单配置下就行
server {
server_name scholar.google.com;
resolver 8.8.8.8;
location / {
proxy_pass https://scholar.google.com;
}
}
Scholar 限制更加严格,好多 do 的 ip 都被封了
发现scholar很多服务器curl都是错误的。
我github有专门针对scholar的repo,但是不想过于广泛传播,人一多又完全不能用了。 然后用如下的配置
set $upstream "";
rewrite_by_lua '
local upstreams = {
"http://server1.example.com",
"http://server2.example.com"
}
ngx.var.upstream=upstreams[ math.random( #upstreams ) ]
';
proxy_set_header Authorization abcd; #可选保护上游代理服务器
proxy_buffering off;
proxy_redirect off;
proxy_set_header Accept-Encoding "";
proxy_set_header User-Agent $http_user_agent;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass $upstream;
@rexdf 我使用了你说的那个 repo,发现还是不能用,curl 了一下,发现果然不对,看来 Google 把 OpeShift 的 ip 也封了。难道只能买 VPS 了吗,还有其他的方法吗?
@xinyue 可以 反复删除重建 直到curl正常可以使用 我现在还可以用 另外不要大面积传播 IP被谷歌封完就没有了
@rexdf 明白,已经收到你的邮件了,感谢你的解答!
@rexdf 已经按照你的方法,反复删除重建找到了curl正常可以使用的ip。使用你的repo里面的默认配置就可以正常访问了。但是有一个问题我还是想问一下,你架设在 OpenShift 上的是上游代理服务器,按照这里的配置文件
set $upstream "";
rewrite_by_lua '
local upstreams = {
"http://server1.example.com",
"http://server2.example.com"
}
ngx.var.upstream=upstreams[ math.random( #upstreams ) ]
';
proxy_set_header Authorization abcd; #可选保护上游代理服务器 proxy_buffering off; proxy_redirect off; proxy_set_header Accept-Encoding ""; proxy_set_header User-Agent $http_user_agent; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass $upstream;
你在 OpenShift 上建了两个上游代理服务器作为负载平衡,还是使用了一个 VPS 放置上面的配置文件。能不能再在 OpenShift 上建一个 nginx,代理前面两个上游代理服务器?还有,如果直接使用 OpenShift 上的上游代理服务器,流量稍大会不会马上被封啊?谢谢!
@xinyue 因为VPS本地IP被谷歌封了,那个repo的作用实际上就是让谷歌以为是Openshift的IP在访问。上面的代码就是二级反向代理而已。理论上是可以直接使用(应该会有少量问题,因为没做任何替换),如果真要使用,推荐不要公开传播,个人使用应该没有问题(放到博客之类的共享,应该几天就被谷歌封了)。另外,Openshift的ssl必须付费,不用ssl比较容易被墙。所以最好还是VPS上用上面代码进行二级反向代理。
另外不要再次强调一遍,不要到处传播,因为Openshift应该也是可以被封光的,而且大面积传播会导致GFW过分关注,像GAE一样完全封死也就不远了。具体细节不要公开,也不要在任何博客上面推荐Openshift。
谢谢你的解答,已经弄明白了,我不会传播的。
我的目前是: