我现在正在玩 node.js。我很喜欢它。我遇到了一个奇怪的错误。如果我使用以下命令启动测试服务器
node app.js
并导航至http://本地主机:3000,一切都很好。样式表已加载,一切看起来都正常。但是,如果我通过 nginx 导航到该站点,则该站点和样式表已加载,但似乎被忽略了。这是相同的源代码。它以相同的方式解析。我已经测试过,样式表已正确加载。我真的不知道了。还有其他人吗?
这是我的 nginx vhost 配置:
server {
listen 80;
server_name expressapp.lc;
root /home/matthias/Documents/webapps/expressapp/public;
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
expires 15d;
}
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_min_length 1000;
gzip_disable "MSIE [1-6]\."
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
}
感谢您的帮助。
答案1
为了使事情更清楚,你应该:
- 删除允许客户端缓存的位置部分。
- 关闭 gzip 压缩,例如注释掉所有 gzip 注释
- 将“proxy_set_header Host $http_host”更改为“proxy_set_header Host $host”