Linux

用於 React 和 Node 應用程序代理到錯誤路徑的 Nginx 配置

  • March 24, 2020

我已經為 React 前端和 Node 後端設置了一個帶有 Nginx 配置的伺服器。

Node 應用程序用作 react 應用程序的 API。/api/… 的節點路由被傳遞到以下路徑:/client/public/api/… 這將導致 404。

我了解可能會添加什麼,我假設根定義具有 /client/public/ 路徑定義。但是無法使用 Nginx Config 找到解決方案,附在下面。

路徑字元串的 /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;
 }
}    

嘗試以下位置塊:

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

不要錯過proxy_pass指令參數的尾部斜杠!您可以在此處找到此構造行為的描述。

引用自:https://serverfault.com/questions/1008059