在NGINX中使用GZIP和BROTLI共享MIMEtypes列表

我想使用NGINX启用GZIP和Brotli压缩。 我必须提供每个自己的MIMEtypes列表,就像在我的nginx.conf中一样:

gzip_types text/plain text/css ...etc; brotli_types text/plain text/css ...etc; 

我如何创build可以被这两个设置使用的MIMEtypes的单个列表?

由于可以受益于压缩的MIME类型的数量大约在20左右,所以将两个列表设置为同步是非常重要的。

如果绝对需要从一个中央位置管理这个列表,我会建议研究开发一个Ansible的手册,将Nginx配置推送到服务器。

与推送相应配置相关的Ansible手册的一部分看起来像这样:

 - name: "Set fact for compressible MIME types" set_fact: compressibles: - "text/css" - "application/javascript" - "..." - name: "copy {{ item }} conf.d config file" template: src: "{{ item }}.conf.j2" dest: "/etc/nginx/conf.d/{{ item }}.conf" with_items: - brotli - gzip notify: reload nginx 

gzip.conf.j2:

 gzip on; gzip_types {{ compressibles|join(' ') }}; # whatever else you think is relevant for gzip configuration # ... 

brotli.conf.j2

 brotli on; brotli_types {{ compressibles|join(' ') }}; # whatever else you think is relevant for brotli configuration # ...