Nginx 配置 React 和 Node 应用代理到错误路径

Nginx 配置 React 和 Node 应用代理到错误路径

我已经设置了一个带有 Nginx 配置的服务器,用于 React 前端和 Node 后端。

Node 应用程序充当 React 应用程序的 API。/api/... 的节点路由被传递到以下路径:/client/public/api/... 这导致 404。

我理解添加这个的原因,我假设根定义有 /client/public/ 路径定义。但无法使用下面附加的 Nginx 配置找到解决方案。

路径字符串的 /client/public/ 部分不应该位于请求 URL 的 uri 中。

server {
  listen                80;
  server_name           www.domain.com;

  root                  /var/www/site_folder/client/public;

  index                 index.html;

  location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    access_log          off;
    expires             max;
  }

  location /api/(.*)$ {
    proxy_pass          http://localhost:5000;
  }

  location ~ /\.ht {
    deny                all;
  }
}    

答案1

尝试以下位置块:

    location /api/ {
        proxy_pass http://localhost:5000/;
    }

不要错过proxy_pass指令参数的尾部斜杠!您可以找到此构造行为的描述这里

相关内容