我想将 URL(例如,domain.com/api/)重定向到特定的 Node.js 服务器,根 URL 显示我的网站。目前我使用这个配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location /api {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:3031/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
但是它不起作用。
出了什么问题?
感谢您的帮助和最诚挚的问候:)
最佳答案
您忘记了 location/api 部分后的右括号。 您的配置在我的机器上运行。
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location /api {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:3031/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
此外,您的 Nodejs 后端必须处理“/api”请求。
关于node.js - Nginx 重定向到 Node.js 后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61355924/