通过nginx而不是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 下) . 但是,当我开始这样的应用程序时,我得到 ERR_TOO_MANY_REDIRECTS . 只有一次我从我的网站上面添加快速配置工作 .

如何正确地通过nginx提供静态内容?有没有人对我究竟做错了什么有一些指导?

回答(0)