首页 > 解决方案 > Nginx 重定向到 Node.js 后端

问题描述

我想将 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;
}

但它不起作用。

出了什么问题?

感谢您的帮助和最好的问候:)

标签: node.jsnginx

解决方案


您在 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”请求。


推荐阅读