Nginx(with nginx-proxy) 设置 Cache-Control

  • Nginx:Web 服务器,官网
  • nginx-proxy:使用 docker-gen 为 Docker Nginx 提供代理,官网
  • Cache-Control:HTTP 请求头,用于控制缓存,文档

第一步:根据 nginx-proxy 文档设置 nginx.conf

我需要设置单个 VIRTUALHOST 网站的配置,选择通过文件而不是环境变量设置,后者不够自由,可设置的选项有限。

1 修改 nginx-proxy compose 文件 {#1-修改-nginx-proxy-compose-文件}

~/nginx-proxy/docker-compose.yml

    - vhost:/etc/nginx/vhost.d
    + /etc/nginx/vhost.d:/etc/nginx/vhost.d

    volumes:
    -  vhost:

2 写入配置 {#2-写入配置}

    sudo mkdir /etc/nginx/vhost.d
    sudo vim /etc/nginx/vhost.d/www.yidajiabei.xyz
    sudo ln -s /etc/nginx/vhost.d/www.yidajiabei.xyz /etc/nginx/vhost.d/yidajiabei.xyz

/etc/nginx/vhost.d/www.yidajiabei.xyz

    server_tokens off;
    add_header Cache-Control max-age=31536000;

第二步:重启 nginx-proxy 容器以及 Nginx 博客实例

    cd /path/to/nginx-proxy
    docker-compose down && docker-compose up -d
    cd /path/to/docker-blog
    docker-compose down && docker-compose up -d

参考资料:

  1. Serve static assets with an efficient cache policy
  2. Prevent unnecessary network requests with the HTTP Cache
  3. How to Configure Cache-Control Headers in NGINX
欢迎通过「邮件」或者点击「这里」告诉我你的想法
Welcome to tell me your thoughts via "email" or click "here"