使用Nginx从同一服务器上服务多个React应用

时间:2018-08-06 05:11:16

标签: reactjs nginx nginx-location

我正在Nginx的同一服务器块中提供多个React应用,我正在将这些路由从Nginx转发到每个React应用的index.html,我在每个位置添加了一个try_files:

我的nginx配置:

server {
  listen 80;
  location /nest/ {
        alias /Users/harikrishnan/turbolab/nest-ui/build;
        try_files $uri /index.html;
  }
  location  /nest/dataviewer/ {
     alias /Users/harikrishnan/turbolab/dataviewer/dataviewer/build;
     try_files $uri /index.html;
}
}

问题在于,当我浏览到/nest/dataviewer时,它会重定向到/nest/。显然这不是预期的,因为我希望每个位置都可以转发到适当项目的index.html

1 个答案:

答案 0 :(得分:0)

正则表达式 (^nest/dataviewer)与以/nest/dataviewer开头的URI不匹配。您缺少开头的/

location ~* {语句缺少任何正则表达式,我很惊讶nginx接受它。

在这种情况下,您应该使用前缀location,这样效率更高。有关详细信息,请参见this document

例如:

location /nest/dataviewer { ... }
location / { ... }