Nginx 响应头标记传输 MIME 类型为 UTF8

2021-01-24 14:01:00
 尚寂新

最近闲着没事做,看到 Edge 浏览器多了个新功能(老火星人了我),叫做问题。里面的缺陷一栏中,Warning 了我的 css js 和 json,大概意思是这些文件的响应头应该规定 charset 为 utf8

打开配置文件

cd /安nginx的路径/nginx/conf
vim nginx.conf

编辑内容

server {}大括号内追加内容

charset utf-8;
source_charset utf-8;
charset_types text/html text/css application/javascript application/json;

vim 使用:按i进入编辑模式(insert),按esc退出编辑模式,非编辑模式下,输入:打开指令模式,输入wq保存并退出,不保存仅退出为q

重载配置文件

nginx -s reload

如果有下面的情况

保存的时候,如果有这么个提示(我这边有)

nginx: [warn] duplicate MIME type "text/html" in /路径啊路径/nginx/conf/nginx.conf:27

根据句意看出,text/html是个重复的。我们可以再次打开文件,把charset_types那行里的text/html删掉即可。
记得改完之后重载 Nginx 的配置文件!

参考链接

How to enable correct charset HTTP-header in NGINX - Server Fault

Content Encoding: why and how to use the meta charset tag and the Content-Type header | Dareboost Blog