Node.js 通过nginx而不是express提供静态文件

Node.js 通过nginx而不是express提供静态文件,node.js,express,nginx,Node.js,Express,Nginx,我知道在这个话题上有很多线索,但不幸的是,到目前为止,没有一条对我有帮助。我有一个express应用程序,并提供如下静态文件: app.use(express.static(path.join(__dirname, 'public'), { maxAge: 86400000 })); 现在我也在使用nginx,只想通过nginx提供静态内容,因此我对上面的行进行了注释,并将以下内容添加到我的sites enabled/defaultnginx配置中: server { listen

我知道在这个话题上有很多线索,但不幸的是,到目前为止,没有一条对我有帮助。我有一个express应用程序,并提供如下静态文件:

 app.use(express.static(path.join(__dirname, 'public'), { maxAge: 86400000 }));
现在我也在使用nginx,只想通过nginx提供静态内容,因此我对上面的行进行了注释,并将以下内容添加到我的
sites enabled/default
nginx配置中:

server {
    listen 443 ssl;
    // certificate, server_Name

    location ~^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
       root /path/to/my/project/public/;
       access_log off;
       expires 24h;
     }
}

location / {
    proxy_redirect off;
    proxy_pass https://127.0.0.1:8443;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_set_header   X-NginX-Proxy    true;
    proxy_set_header   Connection "";
    proxy_cache_bypass $http_upgrade;
    proxy_cache one;
    proxy_cache_key sfs$request_uri$scheme;
}
从我到目前为止所读的内容来看,第一个位置块应该处理静态文件的服务(我所有的静态文件都位于
public
下)。但是当我像这样启动我的应用程序时,我得到了太多的重定向。只有一次我从上面添加了express配置,我的站点才能正常工作

如何通过nginx正确提供静态内容?
有人知道我到底做错了什么吗?

不确定,如果创建不同的服务器块,会出现相同的错误吗?首先让location/{}成为服务器块的嵌套部分,在静态文件处理块之前,我会在不同的服务器块和
locatio/
中出现相同的错误