Reactjs Express API后端接收请求但未响应,Nginx
我有一个前端由nginx提供服务。如图所示:Reactjs Express API后端接收请求但未响应,Nginx,reactjs,express,nginx,http-status-code-504,Reactjs,Express,Nginx,Http Status Code 504,我有一个前端由nginx提供服务。如图所示: server { listen 80 default_server; server_name website.* www.website.*; root /home/developer/website/frontend/build; location / { try_files $uri /index.html; } location /api { proxy_se
server {
listen 80 default_server;
server_name website.* www.website.*;
root /home/developer/website/frontend/build;
location / {
try_files $uri /index.html;
}
location /api {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:4000;
}
}
此外,我还有第二个express应用程序接收127.0.0.1:4000的请求。前端调用fetch到“api/something”,express应用程序接收并处理它,但没有响应,客户端错误为504(网关超时)。有什么想法吗?您缺少上游服务器指令。试试这个
upstream api {
server 127.0.0.1:4000;
}
# remove www from the url
server {
listen 80;
server_name www.website.com;
return 301 $scheme://website.com$request_uri;
}
server {
listen 0.0.0.0:80;
server_name website.com website;
error_log /var/log/nginx/website.com-error.log error;
access_log /var/log/nginx/website.log;
# pass the request to the node.js server with the correct headers
location /api/ {
proxy_pass http://api/;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
proxy_ignore_headers Set-Cookie;
proxy_hide_header Set-Cookie;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-NginX-Proxy true;
}
}
您缺少上游服务器指令。试试这个
upstream api {
server 127.0.0.1:4000;
}
# remove www from the url
server {
listen 80;
server_name www.website.com;
return 301 $scheme://website.com$request_uri;
}
server {
listen 0.0.0.0:80;
server_name website.com website;
error_log /var/log/nginx/website.com-error.log error;
access_log /var/log/nginx/website.log;
# pass the request to the node.js server with the correct headers
location /api/ {
proxy_pass http://api/;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
proxy_ignore_headers Set-Cookie;
proxy_hide_header Set-Cookie;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-NginX-Proxy true;
}
}
我已经设置了上游指令,并用您提供的那个替换了我的位置api,但我仍然得到相同的结果。我使用JWT会影响它吗?可能是url中的
www
有问题。尝试更新后的配置,使其正常工作!谢谢你,我一直在想这个问题。很乐意帮忙。干杯Mate我已经设置了上游指令,并用您提供的那个替换了我的位置api,但我仍然得到相同的结果。我使用JWT会影响它吗?可能是url中的www
有问题。尝试更新后的配置,使其正常工作!谢谢你,我一直在想这个问题。很乐意帮忙。干杯,伙计