`

nginx gzip duplicate MIME type “text/html”

阅读更多

指令

  • [#gzip gzip]
  • [#gzip_buffers gzip_buffers]
  • [#gzip_comp_level gzip_comp_level ]
  • [#gzip_min_length gzip_min_length]
  • [#gzip_http_version gzip_http_version]
  • [#gzip_proxied gzip_proxied]
  • [#gzip_types gzip_types]

 

把nginx升级到最新以后,发现用原来的配置启动的时候会提示:
Starting nginx: [warn]: duplicate MIME type “text/html” in /usr/local/nginx/conf/nginx.conf:23

解决办法:去掉下面一行中的“text/html”。

gzip_types  text/plain text/html  text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

原因:text/html根本就不需要写的,gzip默认就会压缩它的,只不过以前的nginx版本不提示这个警告而已,新版本的会出这个警告。

gzip on;
gzip_static on; # Only use this if you compiled it yourself -or- with this module
gzip_proxied any;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
gzip_http_version 1.1;
gzip_min_length 10;
gzip_comp_level 9;
# text/css application/x-javascript and text/javascript are really your choice...
gzip_types text/plain application/xhtml+xml text/xml application/xml application/xml+rss;
 

 

最近在开发一个项目,开发环境为 win + apache & linux + nginx,开发过程中在IE 6,7,8,ff下测试均正确无误,但在测试部的服务器下竟然所有带iframe的网页都无法显示,有点像404,但是很奇怪单独打开页面有时可以正常显 示有时不可以,而且在IE7,8和ff下不会出现这种,很郁闷..
         后来查看返回数据浏览器尽然接收到了数据但就是无法显示,仔细对比header头发现开发环境中没有使用动态gzip压缩,而测试环境中使用了动态 gzip压缩,后来打开开发环境nginx服务器的gzip压缩,重现了IE6无法显示页面的情况,在网上搜索了下出现这种情况大多数为引入js文件的时 候会出现,总结了下对于页面中引入外部资源的都有可能出现这种情况…严重鄙视IE…
Nginx下遇到IE6关闭gizp压缩只需要加: gzip_disable ”MSIE [1-6] \.”;

 

 

 

gzip

语法: gzip on|off

默认值: gzip off

作用域: http, server, location, if (x) location

开启或者关闭gzip模块

 

 

gzip_buffers

语法: gzip_buffers number size

默认值: gzip_buffers 4 4k/8k

作用域: http, server, location


设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。 4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。

如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。

 

 

gzip_comp_level

语法: gzip_comp_level 1..9

默认值: gzip_comp_level 1

作用域: http, server, location

gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)。

 

gzip_min_length

语法: gzip_min_length length

默认值: gzip_min_length 0

作用域: http, server, location


设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。

默认值是0,不管页面多大都压缩。

建议设置成大于1k的字节数,小于1k可能会越压越大。即: gzip_min_length 1024

 

 

gzip_http_version

语法: gzip_http_version 1.0|1.1

默认值: gzip_http_version 1.1

作用域: http, server, location

识别http的协议版本。由于早期的一些浏览器或者http客户端,可能不支持gzip自解压,用户就会看到乱码,所以做一些判断还是有必要的。 注:21世纪都来了,现在除了类似于百度的蜘蛛之类的东西不支持自解压,99.99%的浏览器基本上都支持gzip解压了,所以可以不用设这个值,保持系 统默认即可。

 

 

gzip_proxied

语法: gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ...

默认值: gzip_proxied off

作用域: http, server, location

Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via"的 header头。

  • off - 关闭所有的代理结果数据的压缩
  • expired - 启用压缩,如果header头中包含 "Expires" 头信息
  • no-cache - 启用压缩,如果header头中包含 "Cache-Control:no-cache" 头信息
  • no-store - 启用压缩,如果header头中包含 "Cache-Control:no-store" 头信息
  • private - 启用压缩,如果header头中包含 "Cache-Control:private" 头信息
  • no_last_modified - 启用压缩,如果header头中不包含 "Last-Modified" 头信息
  • no_etag - 启用压缩 ,如果header头中不包含 "ETag" 头信息
  • auth - 启用压缩 , 如果header头中包含 "Authorization" 头信息
  • any - 无条件启用压缩

 

 

gzip_types

语法: gzip_types mime-type [mime-type ...]

默认值: gzip_types text/html

作用域: http, server, location

匹配MIME类型进行压缩,(无论是否指定)"text/html"类型总是会被压缩的。


注意:如果作为http server来使用,主配置文件中要包含文件类型配置文件

http
{
 include       conf/mime.types;
 ......
}


如果你希望压缩常规的文件类型,可以写成这个样子

http 
{
: include       conf/mime.types;

: gzip on;
: gzip_min_length  1000;
: gzip_buffers     4 8k;   
: gzip_http_version 1.1; 
: gzip_types       application/x-javascript text/css application/xml;

: ...... 
}
分享到:
评论

相关推荐

    nginx 网站放在c://www//root

    Nginx (engine x) 是一个高性能的HTTP和反向...其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

    HTTP MIME 类型

    例如,如果服务器返回一个 Microsoft Word 文档,但却将 MIME 类型设置为 text/plain,那么客户端可能无法正确地打开该文件。因此,正确地设置 MIME 类型可以确保客户端能够正确地处理来自服务器的响应数据。 在...

    docker下nginx配置压缩字体和图片等配置

    - ./mime.types:/etc/nginx/mime.types environment: - NGINX_ENABLE_GZIP=on ``` 这里的`NGINX_ENABLE_GZIP`环境变量用于告诉Nginx开启GZIP压缩。当然,这只是一个示例,实际的环境变量名和值可能需要根据你的...

    Nginx RPM 包定制制作

    /application/nginx/sbin/nginx ss -lntup|grep nginx ps -ef|grep nginx|grep -v grep netstat -lntup|grep nginx|grep -v grep curl 127.0.0.1 mkdir -p /server/scripts cd /server/scripts/ fpm -s ...

    nginx安装与使用.zip

    nginx安装与使用 http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/ Nginx开发从入门到精通 http://tengine.taobao.org/book/index.html nginx官网上下载相应的安装包,--- 直接解压就...

    nginx安装部署和配置管理

    nginx 本着开源精神 小白一枚,大家一起努力! HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一...

    nginx1.24.0,包含GCC/zlib/prce依赖

    - **静态文件处理**:Nginx 在处理静态文件如 HTML、图片和视频时表现出色,可以直接从内存缓存中快速响应,无需涉及后端应用服务器。 - **HTTP/2 支持**:Nginx 1.24.0 支持 HTTP/2 协议,可以减少网络延迟,提高...

    nginx-1.18.0已开启gzip压缩优化vue项目大小.zip

    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ``` 这里,`gzip on;` 启用gzip压缩,而`gzip_types` 列出了要压缩的...

    开机自起nginx

    ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #ExecReload=/usr/local/nginx/sbin/nginx -s ...

    Nginx通过/etc/init.d/nginx方式启停【nginx配置文件】

    vi /etc/init.d/nginx 修改nginx后 chmod +x /etc/init.d/nginx /sbin/chkconfig nginx on sudo /sbin/chkconfig --list nginx /etc/init.d/nginx start

    nginx-1.10.2.zip

    【标题】"nginx-1.10.2.zip" 是一个包含了Windows版本的Nginx服务器的压缩包,主要用于在Windows环境下进行Web服务和反向代理的测试。Nginx是一个高性能的HTTP和反向代理服务器,同时也是一款邮件代理服务器。它的...

    Nginx Docker安装配置

    使用Docker技术安装Nginx及配置简单的负载均衡。 将nginx的配置文件从容器中拷贝到宿主目录 ...$ docker cp lw-nginx:/usr/share/nginx/html /colorfulfrog/nginx –-将容器中的html目录内容拷贝到宿主目录下

    NGINX最新版本升级漏洞修复

    mv -f /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx$(date +%Y%m%d%H%M%S) #把新的可执行文件nginx复制到nginx目录对应位置 cp -R -f /opt/upgrade_nginx/nginx /usr/local/nginx/sbin/ cp -R -f /opt...

    Nginx部署和配置,ubuntu/linux平台环境搭建

    Nginx部署和配置,ubuntu/linux平台环境搭建

    一分钟搞定 Nginx反向代理 nginx域名代理

    3.找到D:\nginx\conf下nginx.conf文件用记事本打开 在文段末尾大括号前加上 include proxy.conf;(就是加载刚刚新建的那个文件(注意路径)) 4.进入cmd 进入D盘: d: 进到nginx文件夹下:cd nginx 启动nginx.exe:...

    关于mime type的文章

    例如,在PHP中,可以用`header()`函数设置HTTP响应头,而在Node.js中,可以使用`express`框架的`res.set('Content-Type', 'text/html')`来设置MIME类型。 由于没有具体的文章内容,以上分析基于MIME类型的通用知识...

    nginx 升级为最新版 1.12.0

    这通常包括`/etc/nginx/nginx.conf`和`/etc/nginx/sites-enabled/*`目录下的所有文件。 2. **停止旧版本Nginx服务**: 使用以下命令安全地停止正在运行的Nginx服务: ``` sudo systemctl stop nginx 或者 sudo ...

    Nginx服务器中使用gzip压缩的相关配置解析

    默认情况下,Nginx的gzip压缩是关闭的,同时,Nginx默认只对text/html进行压缩 主要配置如下: gzip on;#开启 gzip_http_version 1.0;#默认1.1 gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types ...

    nginx实现ssl之https改造(包含单机版以及负载均衡配置)

    创建软链接ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx7. 配置nginx服务添加启动脚本到/etc/init.d/nginx,可以网上找一个模板或者自定义编写,确保服务可以启动、停止、重启。8. 配置nginx服务文件编辑 /...

    nginx安装所需依赖gzip的安装包

    4. 配置Nginx支持gzip:在Nginx配置文件(通常是/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf)中,找到http块,并添加以下配置: ``` gzip on; gzip_types text/plain text/css application/json ...

Global site tag (gtag.js) - Google Analytics