V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
JohnChu
V2EX  ›  NGINX

用 nginx 创建反向代理失效

  •  
  •   JohnChu · 2014-08-01 23:02:43 +08:00 · 10430 次点击
    这是一个创建于 3563 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用这样的配置
    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


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

    如果还不行的话,配置文件那,加一行 listen 80; ?
    anjunecha
        5
    anjunecha  
       2014-08-01 23:50:21 +08:00 via Android
    看你这个是想反向代理 www.yahoo.com吗?
    anjunecha
        6
    anjunecha  
       2014-08-01 23:53:30 +08:00 via Android
    试试这样写
    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
        7
    JohnChu  
    OP
       2014-08-02 00:39:51 +08:00
    @oott123 貌似出现apache test page的原因是那个httpd service开着

    @anjunecha 在我关闭httpd service之后,使用这样的配置,访问网站是重定向。
    JohnChu
        8
    JohnChu  
    OP
       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
        9
    anjunecha  
       2014-08-02 16:55:00 +08:00 via Android
    @JohnChu Yahoo是强制跳转https访问,所以没办法绕过,Google倒是可以,淘宝上买张ssl几块钱也有
    JohnChu
        10
    JohnChu  
    OP
       2014-08-02 18:52:16 +08:00
    @anjunecha 其实我就是做Google的。。因为现在上不去很难受
    anjunecha
        11
    anjunecha  
       2014-08-02 18:58:57 +08:00 via Android
    @JohnChu 恩,我已经做好了谷歌的反代,你可以用我的。 go.jiahui.im

    以及谷歌学术 scholar.jiahui.im
    JohnChu
        12
    JohnChu  
    OP
       2014-08-02 19:59:44 +08:00
    @anjunecha 我想自己尝试。。。而且我所使用的都是google总站(ncr那个),如果没有证书应该怎么配置?
    anjunecha
        13
    anjunecha  
       2014-08-02 21:12:47 +08:00   ❤️ 1
    @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
        14
    JohnChu  
    OP
       2014-08-02 21:34:18 +08:00
    @anjunecha 原来如此啊!用IP绕过去!厉害!
    谢谢!
    anjunecha
        15
    anjunecha  
       2014-08-02 21:40:23 +08:00
    @JohnChu 对,域名绕不过去,一定要用IP绕过去
    ryd994
        16
    ryd994  
       2014-08-04 00:34:28 +08:00
    @JohnChu 你可以自己签证书,只要在浏览器上装CA就行。不装也不是不行,小心中间人就是了。另外,如果只是私用的话,用squid然后ssh端口转发更方便
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2317 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:49 · PVG 18:49 · LAX 03:49 · JFK 06:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.