![查看所有 Nginx Web 服务器相关的常见问题解答](https://www.alaica.com/wp-content/uploads/linux-25.gif)
有人告诉我,为了提高 IE8 中的资源下载并行性,我需要将字符集发送到 HTTP Content-Type 响应标头。如何在类 Unix 操作系统上运行的 nginx Web 服务器下设置字符集 utf-8?如何强制Nginx发送字符集utf-8?
您需要使用ngx_http_charset_modulenginx 模块来设置 UTF-8 字符集。该模块向“Content-Type”响应头字段提供指定的字符集。本页介绍如何在 Linux 和类 Unix 系统上设置和发送 Nginx 字符集标头 utf-8。
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 是的 |
要求 | nginx |
美东时间。阅读时间 | 3分钟 |
从 Linux CLI 查看响应标头字段
您可以仅使用标准 wget 或 curl 命令来查看此类标头。因此,请使用curl命令或wget命令,如下所示:
或者
curl -I https://example-dot-com
curl -I https://www.example.com
wget --server-response -O /dev/null https://example-dot-com
如何在 Nginx 中启用字符集 utf-8 HTTP 标头?
打开您的nginx.conf,输入:
# vi nginx.conf
在 http、服务器或位置中附加/修改以下指令:
字符集 UTF- 8;
这就是在 Linux/Unix 上使用 Nginx 时发送 UTF-8 字符集所需的全部内容。现在,保存并关闭文件。重新加载 nginx Web 服务器,输入:
# /usr/local/nginx/sbin/nginx -s reload
或使用 systemctl 命令:
# systemctl reload nginx.service
如何测试字符集 UTF-8 HTTP 标头?
键入以下命令:
$ wget --server-response -O /dev/null https://www.example.com
或
$ curl -I https://www.example.com
指示 text/html 的 UTF-8 支持的示例输出:
HTTP/1.1 200 好
服务器:nginx
日期:2012 年 11 月 5 日星期一 16:42:51 GMT
内容类型:text/html;字符集=UTF-8
连接:保持活动状态
X-Whom:l2-com-cyber
变化:饼干
最后修改时间:2012 年 11 月 5 日星期一 16:38:02 GMT
缓存控制:max-age=311,必须重新验证
X-银河:Andromeda-1
X-Origin-类型:DynamicViaDAL
UTF-8 在 nginx 下仍然无法工作?
确保将其添加到 Linux 或 Unix 上 /etc/nginx/ 目录内的 nginx.conf 中的 http 上下文。例如:
http { 字符集 utf- 8 ; }
以下是它在基于 Alpine Linux 的容器上的外观:
http { 字符集 utf- 8 ; 发送文件; tcp_nopush 开启; tcp_nodelay 开启; 服务器令牌关闭; types_hash_max_size 2048 ; types_hash_bucket_size 64 ; client_max_body_size 16M; # 包括文件扩展名到响应的 MIME 类型的映射 # 并定义默认类型。 包括/etc/nginx/mime.types; default_type 应用程序/八位字节流; # 日志格式 log_format cloudflare '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $http_cf_ray $http_cf_connecting_ip $http_x_forwarded_for $http_x_forwarded_proto $http_true_client_ip $http_cf_ipcountry $http_cf_visitor $http_cdn_loop' ; # 日志记录 access_log /var/log/nginx/access.log cloudflare; error_log /var/log/nginx/error.log 警告; # 包括虚拟主机配置。 包括/etc/nginx/http.d/*.conf; }
确保重新启动或重新加载 Nginx 服务器。
加起来
您了解了如何在 Linux、macOS、FreeBSD 或类 Unix 系统上使用屡获殊荣的 Nginx Web 服务器时发送 UTF-8 HTTP 标头。此外,我还解释了如何使用curl 或wget 命令行实用程序查看标头以进行验证。然而,人们也可以使用 Firefox 或 Chrome/Safari Web 开发人员工具来查看 HTTP 标头。有关更多信息,请参阅 Nginx ngx_http_charset_模块文档。