用 nginx 创建反向代理失效

2014-08-01 23:02:43 +08:00
 JohnChu
用这样的配置
http://img2.tuchuang.org/uploads/2014/08/conf.PNG
访问网站还是默认的apache test page

server {
#listen XXX.XXX.51.6:80;
listen [XXXX:XXXX:1:1::1:321]:80;
server_name XXX.tk;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
# root html;
# index index.html index.htm;
proxy_pass http://www.yahoo.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}


nginx version: nginx/1.7.3
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-54)
configure arguments: --prefix=/opt/nginx --with-http_stub_status_module --add-module=/root/ngx_http_substitutions_filter_module/ --with-ipv6


求大神帮忙! 谢谢
10541 次点击
所在节点    NGINX
16 条回复
pmispig
2014-08-01 23:32:41 +08:00
我看了半天呢,没发现有问题。
于是乎我想啊想啊。nginx为什么会出现apache test page,
楼主莫不是用ipv4:80跑了个apache,用ipv6跑了个nginx,
这是逗我们吗...
JohnChu
2014-08-01 23:34:56 +08:00
@pmispig 我我我。。。装完nginx出来就是这么个页面啊。。。
pmispig
2014-08-01 23:37:42 +08:00
其他的问题真看不出来..不过您这操作系统可够老的,gcc也够老的,nginx版本倒是够新
oott123
2014-08-01 23:50:04 +08:00
service httpd stop
service nginx restart

如果还不行的话,配置文件那,加一行 listen 80; ?
anjunecha
2014-08-01 23:50:21 +08:00
看你这个是想反向代理 www.yahoo.com吗?
anjunecha
2014-08-01 23:53:30 +08:00
试试这样写
server {
listen 80; ## listen for ipv4
server_name xxx.xxx;

location / {
proxy_set_header Host "www.yahoo.com" ;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://www.yahoo.com/;
}
JohnChu
2014-08-02 00:39:51 +08:00
@oott123 貌似出现apache test page的原因是那个httpd service开着

@anjunecha 在我关闭httpd service之后,使用这样的配置,访问网站是重定向。
JohnChu
2014-08-02 16:13:18 +08:00
@anjunecha 我把proxy_redirect off;改成proxy_redirect http://www.yahoo.com/ http://XXX.XXX;
不会重定向了,但是实际上访问yahoo会跳转到https,我的网站没有证书,有没有办法绕开https的跳转?
anjunecha
2014-08-02 16:55:00 +08:00
@JohnChu Yahoo是强制跳转https访问,所以没办法绕过,Google倒是可以,淘宝上买张ssl几块钱也有
JohnChu
2014-08-02 18:52:16 +08:00
@anjunecha 其实我就是做Google的。。因为现在上不去很难受
anjunecha
2014-08-02 18:58:57 +08:00
@JohnChu 恩,我已经做好了谷歌的反代,你可以用我的。 go.jiahui.im

以及谷歌学术 scholar.jiahui.im
JohnChu
2014-08-02 19:59:44 +08:00
@anjunecha 我想自己尝试。。。而且我所使用的都是google总站(ncr那个),如果没有证书应该怎么配置?
anjunecha
2014-08-02 21:12:47 +08:00
@JohnChu 这是我的配置,不需要证书,你直接粘贴进去,把xxx.xxx的地方改成你自己自己的域名就可以了
server {
listen 80;
server_name xxx.xxx;

location / {
proxy_redirect http://www.google.com/ /;
proxy_cookie_domain google.com xxx.xxx;
proxy_pass http://173.194.127.48;
proxy_set_header Accept-Encoding "";
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Accept-Language "zh-CN";
proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw";
sub_filter www.google.com xxx.xxx;
sub_filter_once off;
}
}
JohnChu
2014-08-02 21:34:18 +08:00
@anjunecha 原来如此啊!用IP绕过去!厉害!
谢谢!
anjunecha
2014-08-02 21:40:23 +08:00
@JohnChu 对,域名绕不过去,一定要用IP绕过去
ryd994
2014-08-04 00:34:28 +08:00
@JohnChu 你可以自己签证书,只要在浏览器上装CA就行。不装也不是不行,小心中间人就是了。另外,如果只是私用的话,用squid然后ssh端口转发更方便

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125716

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX