我知道这个主题有很多主题,但遗憾的是到目前为止他们都没有帮助过我。我有一个明确的应用程序,并提供我的静态文件:
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正确提供静态内容? 有没有人对我做错了什么有一些指导?