2016-10-03 4 views
6

NGINXを使用してGZIPとBrotli圧縮を有効にしたいとします。私は私のnginx.confにそうようなMIMEタイプの独自のリストをそれぞれに供給する必要があります。NGINXでGZIPとBROTLIを使用してMIMEタイプリストを共有する

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

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

は、どのように私は両方の設定で使用できるMIMEタイプの単一のリストを作成することができますか?

答えて

0

絶対的に中央の場所からリストを管理したいなら圧縮から利益を得ることができるMIMEタイプの数は約20

を浮くので、かなり同期して二つのリストを設定するための1つのオフの課題でありますNginxの設定をサーバーにプッシュするための、Ansibleプレイブックの開発を検討することをお勧めします。対応する設定をプッシュするための関連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 
# ... 
関連する問題