我有一个vue-ssr
项目,没有使用nuxt.js
。服务器是express
。
项目在3000端口运行。
不使用nginx 时,访问ip:3000,页面运行良好。
使用nginx 访问我的域时,我仍然可以获得HTML字符串,但是字符串未呈现,如下所示:
(我没有足够的声誉来发布图片。)
以及类似的请求和响应标头:
request and response headers.png
这是我的Nginx配置:
server {
server_name mydomain;
root /my/path;
location / {
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_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:3000;
proxy_redirect off;
}
}
我已经尝试了nuxt.js documents中引入的配置,但是也没有用。
答案 0 :(得分:0)
如果删除nosniff
标头可解决此问题,则表明express
由于某种原因未在响应中发送正确的mime类型。
您可以通过直接点击express并检查其返回的标题来进行检查,例如:
curl -D - -o /dev/null http://localhost:3000
如果未返回text / html,则可能是您无意中破坏了应用程序代码中默认的mime类型的迹象。