- Nginx:Web 服务器,官网
- nginx-proxy:使用 docker-gen 为 Docker Nginx 提供代理,官网
- Cache-Control:HTTP 请求头,用于控制缓存,文档
#第一步:根据 nginx-proxy 文档设置 nginx.conf
我需要设置单个 VIRTUALHOST
网站的配置,选择通过文件而不是环境变量设置,后者不够自由,可设置的选项有限。
#1 修改 nginx-proxy compose 文件
~/nginx-proxy/docker-compose.yml
1
2
3
4
5
| - vhost:/etc/nginx/vhost.d
+ /etc/nginx/vhost.d:/etc/nginx/vhost.d
volumes:
- vhost:
|
#2 写入配置
1
2
3
| 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
1
2
| server_tokens off;
add_header Cache-Control max-age=31536000;
|
#第二步:重启 nginx-proxy 容器以及 Nginx 博客实例
1
2
3
4
| cd /path/to/nginx-proxy
docker-compose down && docker-compose up -d
cd /path/to/docker-blog
docker-compose down && docker-compose up -d
|
参考资料:
- Serve static assets with an efficient cache policy
- Prevent unnecessary network requests with the HTTP Cache
- How to Configure Cache-Control Headers in NGINX
Layout of comment panels