docker nginx letsencrypt
https越来越流行了,但免费的证书一般是一年有效期。一般是够用了,但懒人都想一劳永逸,
有个免费证书颁发机构是letsencrypt。它是开源,并且完全免费的,它颁发的证书已经被几乎所有的浏览器所认可。证书90天有效期,支持自动续订。
自己的服务器使用docker进行部署的,基本上有新项目都强迫症般docker化。letsencrypt这肯定支持docker运行的。
本地使用nginx反向代理的,比如我的一个域名https://git.dxgz.work/
修改nginx配置,添加
location ~ /.well-known{ # https证书自动更新
proxy_pass http://127.0.0.1:88; # certon自动更新接口
}
88端口是cerbot的容器的端口,重载配置
sudo /usr/sbin/nginx -s reload # 这个是装在主机的nginx重载命令
docker exec -it nginx.web /usr/sbin/nginx -s reload
# 我是使用docker的,要用这个命令
certbot第一次运行时需要配置域名和邮箱地址,之后使用renew就可以了
docker run -it --rm -p : --name certbot \
-v "/data/ssl:/etc/letsencrypt" \
certbot/certbot \
certonly --standalone \
--email `你的邮箱地址` \
-d `你的域名地址` -d www.`你的域名地址`
上述命令将域名的ssl证书放在本地 /data/ssl
因为有效期限制,需要配置自动更新,比如这样,放到crontab定时任务中
renew_cert.sh
# 运行docker-更新证书
cd /data/letsencrypt && docker-compose up # reload nginx 配置,加载新证书
#docker exec -it nginx.web /usr/sbin/nginx -t
docker exec -it nginx.web /usr/sbin/nginx -s reload
上面的docker-compose.yml内容
version: '' services:
web:
image: certbot/certbot
container_name: certbot.ssl.web
volumes:
- /data/ssl:/etc/letsencrypt
ports:
- "88:80"
command: renew
crontab -e 添加一个定时任务,当然了,docker是需要root权限启动的,或者配置了普通用户运行
* * * /data/letsencrypt/renew_cert.sh > /dev/null >&
每天凌晨0点运行
得到证书后,配置nginx,请参考我的另一博客
以上
docker nginx letsencrypt的更多相关文章
- docker nginx mysql
docker run -p 9000:9000 --name myphp -v /docker/www/:/var/www/html/ -v /docker/php/php.ini:/usr/loca ...
- 搭建 docker + nginx + keepalived 实现Web应用的高可用(亲测)
1. 环境准备 下载 VMware : https://www.vmware.com/go/getplayer-win 下载 Centos : https://mirrors.a ...
- 七、Docker+nginx
原文:七.Docker+nginx docker run -p 80:80 --name nginx-v1.0.0 -v /usr/nginx/www:/www -v /home/docker/ngi ...
- docker nginx实现一个主机部署多个站点
原文:docker nginx实现一个主机部署多个站点 在某站租赁的虚拟机快到期了,续费得花200多,想到在阿里云新买的服务器,不如把这个也转移过去.域名我就用真实的吧,大家别黑我网站就好了,谢谢各位 ...
- asp.netcore 3.0 Docker Nginx(震惊,原来docker是这样的!)
引言 Docker发布于2013年,Docker是dotCloud公司创始人在法国期间发起的一个公司内部项目,他是dotCloud多年云技术的一个革新.Docker在容器基础上进行了一步的封装,从网络 ...
- Docker + Nginx + Tomcat 实现负载均衡简单演示
Docker + Nginx + Tomcat 实现负载均衡 环境 [root@pinyoyougou-docker ~]# docker -v Docker version 1.12.6, buil ...
- Docker+Nginx使用流程(笔记)
Docker+Nginx使用流程 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统 # uname -r 查看你当前的内核版本 # yum -y insta ...
- docker nginx 实现图片预览
一.实现 nginx http图片预览 1.创建本地配置文件目录以及配置文件 两种方式: 1.1.docker nginx将配置文件抽离到了/etc/nginx/conf.d,只需要配置default ...
- Docker NGINX 例子
版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...
随机推荐
- node.js学习5--------------------- 返回html内容给浏览器
/** * http服务器的搭建,相当于php中的Apache或者java中的tomcat服务器 */ // 导包 const http=require("http"); cons ...
- 【转】Linux的nm查看动态库和静态库的符号
转自https://blog.csdn.net/qq_16683355/article/details/52297884 功能 列出.o..a..so中的符号信息,包括符号的值,符号类型及符号名称等. ...
- Js的运算符
JS的运算符 1.运算符的分类: a) 算数运算符 b) 字符串运算符 c) 赋值运算符 d) 比较运算符 e) 逻辑运算符 f) 位运算符 g) 其他运算符 2.算数运算符 + 加法运算符 - 减法 ...
- 为什么使用Nosql:Nosql和SQL的区别
1.概念: SQL(Structured Query Language)数据库,指关系型数据库.主要代表:SQL Server.Oracle.MySQL.PostgreSQL. NoSQL(Not O ...
- windows下安装memcached,报错:Failed to ignore SIGHUP RESULT too large
小平板不想装虚拟机, 但是却跑不起memcached 网上虽有解决方案,但都只有一条命令, 没有出处. 翻了半天, 找到这个连接 https://commaster.net/content/insta ...
- 【原创】Proxmark3系列教程1——PM3用法
1 PM3介绍 proxmark3是一款开源的RFID安全研究平台黑色按钮从图中我们可以看到左上方有一颗黑色按钮,这个按钮就是Proxmark3的功能键,主要用于启动嗅探模式以及停止进程功能,其中内置 ...
- Redis学习笔记一
Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单 ...
- type() 和 isinstance()区别
a=111 # type() 返回数据类型 In: type(a) Out: int In: print(type(a)) Out: <class 'int'> # isinstance ...
- Ubuntu软件中心闪退
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install --reinstall software-center
- 2019微软Power BI 每月功能更新系列——Power BI 4月版本功能完整解读
Power BI4月份的更新对整个产品进行了重大更新.此版本增加了基于DAX表达式定义视觉效果标题和按钮URL的功能.本月Power BI也新增了许多新的连接器,现在可以使用几种预览连接器,包括Pow ...