ユーザ用ツール

サイト用ツール


06_virtualization:05_container:05_docker_nginx_proxy

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
06_virtualization:05_container:05_docker_nginx_proxy [2021/05/17 14:41] – [nginx.conf] matsui06_virtualization:05_container:05_docker_nginx_proxy [2022/03/16 23:23] (現在) matsui
行 2: 行 2:
  
 Docker Nginxでリバースプロキシ Docker Nginxでリバースプロキシ
 +
 +[[06_virtualization:05_container:02_dcoker_composer|docker-compose install]]
  
 ===== docker-compose.yml ===== ===== docker-compose.yml =====
行 33: 行 35:
             allow 192.168.0.11;             allow 192.168.0.11;
             deny all;             deny all;
 +            proxy_redirect off;
 +            proxy_pass http://example.com:8080/;
 +
 +            # 基本はキャッシュしない
 +            set $do_not_cache 1;
 +            # 画像のみキャッシュさせる
 +            if ($uri ~* "\.(jpg|jpeg|png|gif|css|js|ico|svg)$") {
 +                     set $do_not_cache 0;
 +            }
 +            proxy_no_cache $do_not_cache;
 +            proxy_cache_bypass $do_not_cache;
             proxy_set_header Host $http_host;             proxy_set_header Host $http_host;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header X-Forwarded-Proto $scheme;             proxy_set_header X-Forwarded-Proto $scheme;
             proxy_set_header X-Real-IP $remote_addr;             proxy_set_header X-Real-IP $remote_addr;
-            proxy_pass http://example.com:8080/; +            proxy_ignore_headers Cache-Control;
-            proxy_redirect off;+
             proxy_cache zone1;             proxy_cache zone1;
 +            proxy_cache_key $uri;
 +            proxy_cache_valid 200 302 20m;
 +            proxy_cache_valid 404 10m;
             # レスポンスヘッダにキャッシュヒットしたかどうかを含める             # レスポンスヘッダにキャッシュヒットしたかどうかを含める
             add_header X-Nginx-Cache $upstream_cache_status;             add_header X-Nginx-Cache $upstream_cache_status;
行 47: 行 62:
  
 </code> </code>
 +
 +
 +==== キャッシュが聞いているかどうかの確認 ====
 +
 +効いてる
 +  x-nginx-cache: HIT
 +
 +
 +効いてない
 +  x-nginx-cache: MISS
 +
 +
 +==== upstream_cache_status ====
 +下記upstream_cache_statusを設定した場合のステータス一覧
 +  # レスポンスヘッダにキャッシュヒットしたかどうかを含める
 +  add_header X-Nginx-Cache $upstream_cache_status;
 +
 +|HIT|正しくキャッシュが効いた|
 +|BYPASS|proxy_cache_bypass が 1である場合。キャッシュしないになってる|
 +|MISS|キャッシュがないのでオリジナルサーバに取りに行ったとき|
 +|EXPIRED|キャッシュが存在するが期限切れの場合|
 +
 +
 +==== tmpfsをキャッシュディレクトリへ ====
 +
 +=== fstabへ追加 ===
 +
 +<code|/etc/fstab>
 +tmpfs           /tmpfs            tmpfs   defaults,size=1024m,noatime,mode=1777      0       0
 +</code>
 +
 +=== マウント ===
 +
 +<code>
 +mkdir /tmpfs
 +mount /tmpfs
 +</code>
 +
 +=== docker-compose.yml ===
 +
 +これで、tmpfsにnginxのキャッシュが入るようになります。
 +
 +<code|docker-compose.yml>
 +version: '3'
 +
 +services:
 +  reverse-proxy:
 +    image: nginx
 +    volumes:
 +      - ./reverse-proxy/nginx.conf:/etc/nginx/nginx.conf
 +      - /tmpfs:/var/cache
 +    ports:
 +      - 8088:80
 +
 +</code>
 +
 +
 {{tag>Nginx Docker Proxy}} {{tag>Nginx Docker Proxy}}
06_virtualization/05_container/05_docker_nginx_proxy.1621262499.txt.gz · 最終更新: 2021/05/17 14:41 by matsui