点击注册
点击注册
.

使用letsencryptnginxproxycompanion自动续期ssl证书

发布日期:2022-04-04 11:48    点击次数:113
免费的 ssl 证书基本上一年要续一次,一次还只能一个二级域名,我们可以使用 letsencrypt 来生成 ssl 证书,到期自动续期不想看官方文档可以直接看往下滑看项目实战(知乎好像不支持锚点。。。)基本用法(使用 nginx-proxy 容器)github 地址必须在 nginx-proxy 容器上声明三个可写卷,以便可以与 letsencrypt-nginx-proxy-companion 容器共享它们: /etc/nginx/certs 用于存储证书和私钥(nginx-proxy 容器只读) /etc/nginx/vhost.d 修改 vhosts 的配置(必需真人扑克游戏,CA 可以访问 http-01 挑战文件)/usr/share/nginx/html 写入 http-01 challenge files使用示例:第 1 步-Nginx 代理使用声明的其他三个卷启动 nginx-proxy:\$ docker run --detach \ --name nginx-proxy \ --publish 80:80 \ --publish 443:443 \ --volume /docker/compose/nginx1/certs:/etc/nginx/certs \ --volume /docker/compose/nginx1/vhost.d:/etc/nginx/vhost.d \ --volume /docker/compose/nginx1/html:/usr/share/nginx/html \ --volume /var/run/docker.sock:/tmp/docker.sock:ro \ jwilder/nginx-proxy/var/run/docker.sock 将容器内的主机 docker socket()绑定到 nginx-proxy/tmp/docker.sock 。第 2 步-Letsencrypt-nginx-proxy-companion启动 letsencrypt-nginx 的代理-伴侣的容器中,充分利用卷的 nginx 代理有--volumes-from:\$ docker run --detach \ --name nginx-proxy-letsencrypt1 \ --volumes-from nginx-proxy1 \ --volume /var/run/docker.sock:/var/run/docker.sock:ro \ --env "DEFAULT_EMAIL=549250640@qq.com" \ jrcs/letsencrypt-nginx-proxy-companion主机 docker 套接字也必须绑定到此容器中,这次为/var/run/docker.sock。尽管是可选的,但建议您通过 DEFAULT_EMAIL 环境变量提供有效的默认电子邮件地址,以便“加密”可以警告您证书即将过期并允许您恢复帐户。第 3 步-代理容器一旦 nginx-proxy 和 letsencrypt-nginx-proxy-companion 容器都已启动并运行,请使用环境变量启动要代理的任何容器,VIRTUAL_HOST 并将 LETSENCRYPT_HOST 两者都设置为代理容器将要使用的域。VIRTUAL_HOST 通过控制代理 nginx 的代理和 LETSENCRYPT_HOST 控制证书的创建和 SSL 通过启用 letsencrypt-nginx-proxy-companion仅当容器是公开可访问的,VIRTUAL_HOST 并且容器的 LETSENCRYPT_HOST 变量和变量都设置为可正确解析给主机的域时,才会颁发证书。\$ docker run --detach \ --name web-app \ --env "VIRTUAL_HOST=subdomain.yourdomain.tld" \ --env "LETSENCRYPT_HOST=subdomain.yourdomain.tld" \ nginx被代理的容器必须使用 EXPOSE 其 Dockerfile 中的指令或使用--exposeto docker run 或标志来公开要代理的端口 docker create。如果代理容器侦听并暴露了默认端口以外的其他端口 80,则可以强制 nginx-proxy 将其与 VIRTUAL_PORT 环境变量一起使用。使用 Grafana 的示例(暴露并监听端口 3000):\$ docker run --detach \ --name grafana \ --env "VIRTUAL_HOST=othersubdomain.yourdomain.tld" \ --env "VIRTUAL_PORT=3000" \ --env "LETSENCRYPT_HOST=othersubdomain.yourdomain.tld" \ --env "LETSENCRYPT_EMAIL=mail@yourdomain.tld" \ grafana/grafana对要代理的任何其他容器重复步骤 3。以上就是官方文档的翻译 下面是分享一下我的使用场景,比如我要部署一个 spring-boot+vue 的前后端分离项目首先我要分配两个二级域名 http://api.ishare365.com.cn 给后端 tomcat 使用(不一定是 tomcat,或者是 springboot 打包后的 docker 镜像) http://h5.ishare365.com.cn 给前端 nginx 使用 在 docker-compose 中使用一般情况下我还是比较喜欢 docker-compose 中编排 docker 容器,不管是一个容器还是多个,毕竟可以写在 docker-compose 文件中,就算时间久了我还是知道怎么运行的。首先可以创建包含 nginx-proxy 和 letsencrypt-nginx-proxy-companion 的容器version: "3.1" services: nginx-proxy: container_name: nginx-proxy image: jwilder/nginx-proxy ports: - "80:80" - "443:443" volumes: - ./conf:/etc/nginx/conf.d - ./vhost:/etc/nginx/vhost.d - ./html:/usr/share/nginx/html - ./nginx/log:/var/log/nginx - ./dhparam:/etc/nginx/dhparam - ./certs:/etc/nginx/certs:ro - /var/run/docker.sock:/tmp/docker.sock:ro environment: - VIRTUAL_HOST=ishare365.com.cn,*.ishare365.com.cn - LETSENCRYPT_HOST=ishare365.com.cn,*.ishare365.com.cn - LETSENCRYPT_EMAIL=549250640@qq.com restart: unless-stopped letsencrypt: container_name: nginx-proxy-le image: jrcs/letsencrypt-nginx-proxy-companion depends_on: - nginx-proxy volumes: - ./vhost:/etc/nginx/vhost.d - ./html:/usr/share/nginx/html - ./dhparam:/etc/nginx/dhparam - ./certs:/etc/nginx/certs - /var/run/docker.sock:/var/run/docker.sock:ro environment: - NGINX_PROXY_CONTAINER=nginx-proxy restart: unless-stopped networks: default: external: name: nginx-proxy创建要代理的容器 tomcat 和 nginx 要注意的是如果容器暴露的不是 8080 端口需要使用 VIRTUAL_PORT 做关联 比如 tomcat 是 8080 version: "3.1" services: tomcat: image: bitnami/tomcat:latest container_name: tomcat volumes: # - /usr/local/docker/tomcat/webapps:/usr/local/tomcat/webapps - ./webapps:/bitnami environment: TZ: "Asia/Shanghai" TOMCAT_USERNAME: "uuu111111" # 这是假的不用试了 TOMCAT_PASSWORD: "111111" TOMCAT_ALLOW_REMOTE_MANAGEMENT: "1" VIRTUAL_PORT: "8080" VIRTUAL_HOST: "api.ishare365.com.cn" LETSENCRYPT_HOST: "api.ishare365.com.cn" restart: always networks: - default_network openresty: image: openresty/openresty:1.19.3.1-2-alpine container_name: openresty expose: - "80" volumes: - ./www:/www/:rw - ./openresty/conf.d/:/etc/nginx/conf.d/:ro # - ./openresty/ssl/:/ssl:rw - ./openresty/openresty.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro - ./openresty/fastcgi-php.conf:/usr/local/openresty/nginx/conf/fastcgi-php.conf:ro - ./openresty/fastcgi_params:/usr/local/openresty/nginx/conf/fastcgi_params:ro - ./openresty/log/:/var/log/nginx/:rw environment: TZ: "Asia/Shanghai" VIRTUAL_HOST: "h5.ishare365.com.cn" LETSENCRYPT_HOST: "h5.ishare365.com.cn" networks: - default_network networks: default_network: external: true然后执行docker-compose up -ddocker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 63f1cebc8eee bitnami/tomcat:latest "/opt/bitnami/script…" 7 seconds ago Up 5 seconds 8080/tcp, 8443/tcp tomcat fdb7ee0d51be openresty/openresty:1.19.3.1-2-alpine "/usr/local/openrest…" 7 seconds ago Up 5 seconds 80/tcp openresty可以看到两个容器已经启动然后分别访问 http://api.ishare365.com.cn http://h5.ishare365.com.cn 可以看到浏览器中已经显示为 https 的小绿锁了我们可以随便丢一个 vue 项目到 nginx 上去试试


Powered by 真人扑克游戏 @2013-2022 RSS地图 HTML地图

网站统计——

  • 谷歌搜索留痕推广
  • 谷歌搜索留痕排名技术
  • 谷歌快速排名
  • 留痕方法
  • 谷歌搜索快速方法
  • google搜索留痕程序
  • 谷歌快速排名
  • 澳门太阳城
  • 最大博彩公司
  • 谷歌搜索关键词排名
  • 搜索留痕程序
  • 谷歌排名出售
  • 谷歌蜘蛛池排名
  • 搜索留痕软件
  • 缅甸果敢赌场
  • 电子游艺规则
  • 谷歌留痕推广
  • google引流程序
  • 谷歌快速排名
  • google引流程序
  • 留痕推广
  • 大西洋城赌场
  • 买球地址
  • 搜索留痕
  • 搜索留痕程序出售
  • 谷歌蜘蛛池排名技术
  • 留痕程序
  • 如何提高google搜索排名
  • 数字币博彩
  • 洗钱方法
  • Google留痕收录
  • 最新谷歌搜索留痕排名
  • 搜索留痕
  • Google留痕收录
  • google搜索留痕
  • 数字币博彩网站
  • 足球投注平台
  • 博彩推广话术
  • 推广引流方法
  • 引流方法
  • 博彩推广话术
  • 网上博彩推广引流
  • 数字币赌场
  • 皇冠现金网
  • 蜘蛛池排名
  • 谷歌蜘蛛池
  • 留痕程序出售
  • google搜索留痕程序
  • 比特币网上赌场
  • 洗钱平台
  • 搜索留痕
  • 博彩推广方式
  • 网上博彩推广
  • 快速排名
  • 搜索留痕程序
  • bbin平台大全
  • 体育博彩公司排名
  • 留痕排名技术
  • 最新谷歌关键词排名
  • 推广渠道
  • 谷歌快速排名
  • 博彩推广
  • 世界杯赌球地址
  • 皇冠博彩公司
  • 谷歌排名出售
  • 博彩引流渠道
  • 搜索留痕程序
  • google搜索留痕
  • 引流渠道
  • 果敢网上赌场
  • 世界杯赌球
  • 搜索留痕方法
  • 博彩搜索留痕
  • 博彩引流
  • 博彩引流
  • 搜索留痕
  • 缅甸网上赌场
  • 欧洲杯赌球
  • 谷歌搜索排名
  • 留痕程序
  • 网上博彩推广引流
  • 留痕技术
  • 搜索留痕技术出售
  • 澳门威尼斯人网上赌场
  • 外围博彩
  • 博彩网站推广
  • 推广引流
  • 留痕程序出售
  • 谷歌推广引流技术
  • 推广引流方法
  • 美国在线赌场
  • 沙巴体育投注平台
  • 最新谷歌搜索留痕
  • 谷歌蜘蛛池排名技术
  • 网站推广方法
  • 留痕程序出售
  • 博彩推广方法
  • 菠菜论坛
  • 买球平台
  • 谷歌搜索留痕
  • 蜘蛛池排名
  • 博彩公司推广渠道
  • 谷歌搜索留痕
  • 博彩公司推广渠道
  • 真钱游戏
  • 网上赌球地址
  • 赌球平台推荐
  • 赌球网址
  • 博彩包网
  • 买球app
  • 澳门博彩公司
  • 威尼斯人赌场
  • 博彩平台推荐
  • 美国博彩网站
  • 缅甸实体赌场
  • 柬埔寨网上赌场
  • 柬埔寨在线赌场
  • 韩国博彩
  • 支持人民币的博彩公司
  • 世界五大比特币交易所
  • 欧易是哪个国家的
  • 中币跑路
  • 亚洲博彩公司
  • 合法网上赌场
  • 马尼拉赌场
  • 支持人民币的博彩公司
  • 大陆博彩平台
  • 澳门新葡京娱乐城
  • 老挝赌场
  • 世界赌场排名
  • 网上博彩公司排行
  • 菠菜论坛
  • 东南亚赌博网站
  • 虚拟币博彩
  • 澳门百家乐网址
  • 网上博彩导航
  • 区块链百家乐游戏
  • 马来西亚博彩公司
  • 越南赌场
  • 区块链百家乐
  • 香港娱乐场
  • 澳大利亚赌博网站
  • 足球赔率
  • 菲律宾网上赌场
  • 数字币博彩网站
  • 足球投注网站
  • 百家乐论坛
  • 皇冠体育博彩公司
  • 网上赌博网站
  • 网上博彩推广话术
  • 谷歌搜索快速方法
  • 网上博彩推广话术
  • 数字币赌场
  • 皇冠博彩公司
  • 世界杯博彩公司
  • 英国博彩公司
  • 网上博彩合法化
  • 新加坡赌场
  • 比特币网上赌场
  • 怎么洗钱
  • 加密货币博彩平台
  • 世界杯赌球网址
  • 网上赌球地址
  • 博彩推广方式
  • 印度尼西亚博彩公司
  • 国际包网
  • bbin平台直营
  • 亚洲体育博彩平台
  • 越南博彩公司
  • 百家乐路单
  • 澳门博彩官网
  • 博彩网推荐
  • 澳门太阳城网址
  • 百家乐网址
  • 世界杯赌球网址
  • 皇冠博彩网址
  • 洗钱方法
  • 买球网站
  • 欧洲杯赌球平台
  • 皇冠现金网
  • 外围赌球平台
  • 果敢赌场
  • 买球技巧
  • 全球最大博彩公司
  • 电子游艺
  • 真人电子游戏
  • 骰宝游戏规则
  • 亚洲体育博彩平台
  • 澳门在线赌场
  • 缅甸赌场地址
  • 赌球平台
  • 赌场如何赢钱
  • 世界杯买球网站
  • 真人牌九游戏
  • 世界杯买球官网
  • 时时彩平台
  • 六合彩预测
  • 威尼斯人网上赌场
  • 外围赌球网站
  • 赌博网址
  • 彩票群
  • 微信赌博群
  • 韩国首尔赌场
  • 赌钱游戏
  • 美国网上赌场
  • bbin官网
  • 沙巴体育官网
  • 博彩平台推荐
  • 数字币博彩网站
  • 比特币网上赌场
  • 世界赌场名单
  • 美国赌场攻略
  • 菠菜论坛排名
  • 菠菜论坛排名
  • 缅甸网上赌场
  • 支持人民币的博彩公司