node.js - Nginx 重定向到 Node.js 后端

标签 node.js nginx

我想将 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/

相关文章:

wordpress - Nginx反向代理https内容

nginx - 配置 nginx 以在 Web 应用程序中提供 manifest.json 文件

node.js - karma : sourcemaps don't work (with my TypeScript build)

angularjs - nginx错误页面在使用路由的 Angular 应用程序中不起作用

nginx - 将 PHP 文件作为下载提供,而不是执行它们

node.js - Websocket 传输在我的 Firefox/Chrome(Windows 版本)上不起作用

bash - 无法启动 docker nginx

mysql - 如何将数组传递给mysql查询

node.js - 即使服务器返回重定向(3XX),HTTP 客户端也会向服务器发送请求主体吗?

javascript - Express 中的 router.METHOD() 和 router.route() 方法有什么区别