ubuntu 14下nginx 配置代理后,跳转404
发布于 7个月前 作者 jeremy16601 577 次浏览

静态页没问题,但是经过express的路由跳转后,就报404.

  • 以下是nginx的配置文件。 upstream weixin { server localhost:3000; }

server { listen 80 default_server; listen [::]:80 default_server ipv6only=on;

    server_name localhost;

    location /weixin/{
            proxy_pass http://weixin;
    }

    location / {

    proxy_set_header X-Real-IP ~Dremote_addr;
    proxy_set_header X-Forwarded-For ~Dproxy_add_x_forwarded_for;
    proxy_set_header Host ~Dhttp_host;
    proxy_set_header X-NginX-Proxy true;
    }

node直接监听的3000.

var app = express(); app.enable(‘trust proxy’); app.listen(process.env.PORT || 3000);

本地访问也正常

  • app.get('/getUserInfo’, Users.userFindByName);
  • 求大神帮忙。
8 回复

额,没人知道吗

首先试试直接用端口号访问,看是否404。 然后再试试加上nginx代理。 这个基本调试步骤,自己先调试找出问题

端口没问题,现在的问题是在app.js下配置的路由可以,如果是其他文件夹下的路由配置就不行了,但是本地正常,直接监听node端口也正常。用了代理就不行了。

nginx反向代理中不是应该有一句proxy_pass http://localhost:3000

已经加了。 访问app.js里配置的路由没有问题, var weixin = require(‘./routes/weixin’); 引入其他的,就访问不了。

@jeremy16601 所以。。。现在是代理正常了?

@rapidhere yes, 代理是正常的,但是 require 其他的js,里面配置的路由,访问是404.

最终怎么解决的呢

回到顶部