WP带SSL迁移到Docker一些总结
- HTTPS的端口是443, HTTP的端口是80,可以通过命令 netstat -tnl查看
- SSL用最基本的certbot就可以了,免费万岁,多捐赠
- SSL防止的就是很常见的中间人攻击,知乎用户举例,你出去旅游给亲人寄一个明星片,结果亲人收到,变成斯诺登的求助/威胁信,我在哪哪哪,我有危险,快打钱救我!被插广告也是类似原理。
- SSL证书保存在网站目录: – /web/ssl:/etc/letsencrypt
- 不需要备份,迁移之后直接renewal就行了
- 平时需要renewal, 主要通过两个命令, 都做成bash script就好了。
- docker-compose run certbot renew 和
- docker-compose run kill -s SIGHUP webserver 其中: kill -s SIGHUP 会reload 配置
- crontab -e 加入这个 bash script 每12小时运行一次。
- 主要过程:
- 修改docker-compose.yml的配置,增加端口, 数据卷,certbot服务。
- 其中:certbot的数据卷镜像用于nginx和cerbot共享,要不要挂载出来,问题都不大。所以用卷,不用目录。
- 其中:增加映射端口 443
- 第一次测试: 第一次获取证书运行命令用–staging, 之后用–force-renewal
- 第一次测试:docker-compose up -d 之后,需要检查 certbot的logs 是否成功获得了SSL证书:
- 方式一就是 docker-compose ps certbot 服务的状态要是 exit 0 正常退出,就应该是对了。
- 方式二,检查logs, 命令docker-compose logs certbot, 输出logs看看是否正确配置并且下载了证书,congradulations! bla 这些。
- nginx 多增加一个配置文件options-ssl-nginx.conf, 镜像到nginx里面。
- nginx conf 基本重写,用拷贝的就好了。 最后重启测试。
- 所有参考自 https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-docker-compose 其中 options-ssl-nginx.conf 路径有错,注意更改。