nginx如何配置两个express应用分别在不同的二级目录下
发布于 1年前 作者 mz121star 1162 次浏览

想实现的方法大概如下所示,有两个express应用分别在4000和5000端口,想在外网只通过80端口访问,通过不同的二级目录访问,比如 http://Domain/xxx
http://Domain/yyy

分别转发到4000和5000的应用上。 nginx的大概配置如下,可是目前通过这样访问expressjs会提示cannot get / 请问如何处理?

location /xxx{ root /home/aaa/xxx; proxy_pass http://127.0.0.1:4000; }

location /yyy{ root /home/aaa/yyy; proxy_pass http://127.0.0.1:5000 }

5 回复

为嘛不直接用二级域名呢?

目前只有一个80端口对外暴漏,

搞定 location /app { rewrite /app/(.*) /$1 break; proxy_pass http://localhost:3000; proxy_redirect off; proxy_set_header Host $proxy_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

@mz121star 那个无所谓吧,二级域名同样映射到你的这个ip和80端口,然后再nginx里面配置针对不同的域名做转发就行了吧

楼主 我遇到相同的问题,也按照这种方式配置了。

location /app { rewrite /app/(.*) /$1 break; proxy_pass http://localhost:3000; … }

的确我访问 http://121.14.58.212/app 时跳转到我的主页了。 但是我主页需要的静态文件,全部404了。 我期望的应该是访问 http://121.14.58.212/app/style.css, 实际请求的地址为http://121.14.58.212/style.css

跪求告诉怎么解决

回到顶部