前因
前端项目是一个 用 React 做的单页面应用。
在访问该页面时呢,会先访问 Nginx,Nginx 再代理转发到一个 Express 进程中。
这折腾的…
于是直接修改 Nginx 配置文件为
server {
listen 80;
server_name example.com;
root /var/www/example;
location / {
rewrite .* /index.html break;
}
}
直接从 Nginx 层代理转发网页回去
问题
上线后,发现,不论在桌面版,移动版 Safari 中,网页汉字都显示为乱码。
解决
既然是改了 Nginx 的配置后出现的问题,理所当然的就怀疑到了 Nginx 头上,
在比对 Express 和 Nginx 返回 html 页面时的 response 后,发现 Ngnix 缺少了 charset=utf-8。
于是修改 Nginx 配置,如下
server {
listen 80;
server_name example.com;
root /var/www/example;
location / {
charset utf-8;
rewrite .* /index.html break;
}
}
顺利解决。