代码之家  ›  专栏  ›  技术社区  ›  Harikrishnan

使用Nginx从同一服务器提供多个React应用程序

  •  1
  • Harikrishnan  · 技术社区  · 6 年前

    我在Nginx的同一个服务器块上提供多个react应用程序。我正在将这些路由从Nginx转发到每个react应用程序的index.html,我在每个位置添加了一个try_文件:

    我的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 回复  |  直到 6 年前
        1
  •  0
  •   Richard Smith    6 年前

    这个 正则表达式 (^nest/dataviewer) 与以开头的URI不匹配 /nest/dataviewer . 你错过了主角 / .

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

    在这种情况下,应该使用前缀 location ,效率更高。见 this document 详细情况。

    例如:

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