技术解析

用 nginx 创建反向代理失效
0
2021-05-27 23:47:42
idczone
用这样的配置
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


求大神帮忙! 谢谢
我看了半天呢,没发现有问题。
于是乎我想啊想啊。nginx为什么会出现apache test page,
楼主莫不是用ipv4:80跑了个apache,用ipv6跑了个nginx,
这是逗我们吗...

我我我。。。装完nginx出来就是这么个页面啊。。。

其他的问题真看不出来..不过您这操作系统可够老的,gcc也够老的,nginx版本倒是够新

service httpd stop
service nginx restart
如果还不行的话,配置文件那,加一行 listen 80; ?

看你这个是想反向代理 www.yahoo.com吗?

试试这样写
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/;
}

貌似出现apache test page的原因是那个httpd service开着
在我关闭httpd service之后,使用这样的配置,访问网站是重定向。

我把proxy_redirect off;改成proxy_redirect http://www.yahoo.com/ http://XXX.XXX;
不会重定向了,但是实际上访问yahoo会跳转到https,我的网站没有证书,有没有办法绕开https的跳转?

Yahoo是强制跳转https访问,所以没办法绕过,Google倒是可以,淘宝上买张ssl几块钱也有

其实我就是做Google的。。因为现在上不去很难受

恩,我已经做好了谷歌的反代,你可以用我的。 go.jiahui.im
以及谷歌学术 scholar.jiahui.im

我想自己尝试。。。而且我所使用的都是google总站(ncr那个),如果没有证书应该怎么配置?

这是我的配置,不需要证书,你直接粘贴进去,把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;
}
}

原来如此啊!用IP绕过去!厉害!
谢谢!

对,域名绕不过去,一定要用IP绕过去

你可以自己签证书,只要在浏览器上装CA就行。不装也不是不行,小心中间人就是了。另外,如果只是私用的话,用squid然后ssh端口转发更方便

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服