node.js – 如何从作为nodejs服务器的反向代理的nginx服务器提供静态文件?

前端之家收集整理的这篇文章主要介绍了node.js – 如何从作为nodejs服务器的反向代理的nginx服务器提供静态文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我当前的Nginx配置是这样的:

upstream nodejs {
    server 127.0.0.1:3000;
}

server {
    listen 8080;
    server_name localhost;
    root ~/workspace/test/app;
    index index.html;

    location / {
        proxy_pass http://nodejs;
        proxy_set_header Host $host ; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

我对Nginx非常新鲜,但至少我知道在提供静态文件时,Nginx比node / express更好.如何配置服务器以使Nginx提供静态文件

最佳答案
我用这个新的配置解决了它:

upstream nodejs {
    server localhost:3000;
}

server {
    listen 8080;
    server_name localhost;
    root ~/workspace/test/app;

    location / {
        try_files $uri $uri/ @nodejs;
    }

    location @nodejs {
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_pass http://nodejs;
        proxy_set_header Host $host ; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

感谢以下堆栈溢出帖子:

How to serve all existing static files directly with NGINX,but proxy the rest to a backend server.

猜你在找的Nginx相关文章