关于node+express 配置nginx反向代理的问题
发布于 9 年前 作者 will-xlz 10360 次浏览 最后一次编辑是 8 年前 来自 问答

项目使用node+express,express配置了路由如下: router.get(’/’, function(req, res, next) { res.render(‘index’); }); router.get(’/aaa’, function(req, res, next) { res.render(‘blog/aaa.html’); });

nginx配置: upstream nodeweb-server { server localhost:3000; } server { listen 80; server_name www.mywebsite.com mywebsite.com; location = / { root /; proxy_pass http://nodeweb-server; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf|js|css|woff|ttf|TTF|svg)$ { root /opt/NodeWeb/public/; if (-f $request_filename) { expires 100d; break; } }

这样,直接访问 mywebsite.com 是没问题的,但是访问mywebsite.com/aaa,就会出现“404 Not Found”的错误,nginx应该如何配置呢?

4 回复

location = / { 节中的 root /;去掉试试。

@klesh 也是不行啊…

server_name  www.mywebsite.com mywebsite.com;
location = / {

改成

server_name  www.mywebsite.com mywebsite.com;
location / {

多了个=

@albin3 果然是…太感谢了,一直没注意这个!

回到顶部