部署nginx网站,返回application/octet-stream类型的数据

2057 查看

标签(空格分隔): nginx content-type


       最近在部署自己的[个人博客网站]时, 遇到了这么一个错误 :
用本地浏览器打开博客主页,淡出一个下载窗口,提示下载application/octet-stream类型的数据。

问题的提出

      我的博客用的是阿里云的ECS主机,LNMP架构(Linux+Nginx+Mysql+PHP),框架用的是烂大街的WordPress。买了域名,添加DNS解析之后,在ECS主机上配置Nginx配置文件,把blog.xiechuanyu.cn指向我的wordpress目录,然后通过blog.xiechuanyu.cn访问,就出现了如上问题。


原因

     首先用浏览器查看网页返回的HTTP头的信息:我用的是火狐浏览器,首先点击开发者

developer

       然后点击网络

network,

       打开网络面板,重新载入页面,可以看到当前HTTP消息头的Content-Type:"application/octet-stream; charset=UTF-8":

http

       这样一来,猜想可能是Nginx的配置文件里面默认响应返回的Content-Type是application/octet-stream,用Xshell登录云服务器查看Nginx的配置文件/alidata/server/nginx/conf/nginx.conf(如果你用了阿里云提供的LNMP环境一键安装包,Nginx默认配置文件就是这个路径):

vi /alidata/server/nginx/conf/nginx.conf

       果然如此:

Nginx


解决方法

       只要把application/octet-stream改为text/html,这样Nginx在返回应答的时候便会默认把Content-Type设置成为application/octet-stream; charset=UTF-8"了。