我已经设置了一个带有 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
指令参数的尾部斜杠!您可以找到此构造行为的描述这里。