【问题标题】:"jrcs/letsencrypt-nginx-proxy-companion" docker image: too many certificates already issued for exact set of domains“jrcs/letsencrypt-nginx-proxy-companion”泊坞窗图像:已经为确切的域集颁发了太多证书
【发布时间】:2021-02-08 13:04:47
【问题描述】:

当服务器更新并且我运行“docker-compose down”和“ docker-compose up -d" 出现如下错误:

letsencrypt_1  | [Mon Feb  8 11:48:47 UTC 2021] Please check log file for more details: /dev/null
letsencrypt_1  | Creating/renewal example.com certificates... (example.com www.example.com)
letsencrypt_1  | [Mon Feb  8 11:48:48 UTC 2021] Using CA: https://acme-v02.api.letsencrypt.org/directory
letsencrypt_1  | [Mon Feb  8 11:48:48 UTC 2021] Creating domain key
letsencrypt_1  | [Mon Feb  8 11:48:48 UTC 2021] The domain key is here: /etc/acme.sh/email@gmail.com/example.com/example.com.key
letsencrypt_1  | [Mon Feb  8 11:48:48 UTC 2021] Multi domain='DNS:example.com,DNS:www.example.com'
letsencrypt_1  | [Mon Feb  8 11:48:48 UTC 2021] Getting domain auth token for each domain
letsencrypt_1  | [Mon Feb  8 11:48:49 UTC 2021] Create new order error. Le_OrderFinalize not found. {
letsencrypt_1  |   "type": "urn:ietf:params:acme:error:rateLimited",
letsencrypt_1  |   "detail": "Error creating new order :: too many certificates already issued for exact set of domains: example.com,www.example.com: see https://letsencrypt.org/docs/rate-limits/",
letsencrypt_1  |   "status": 429

我了解 letencrypt 允许在一周内创建有限数量的证书。 每次我必须执行“docker-compose down”和“docker-compose up -d”时,我都会使用其中一个实例来生成证书。现在我已达到限制,无法使用该网站。

如果不需要,有什么方法可以避免生成证书? 有没有办法重置本周的计数器以继续使用该网站?

我的 docker-compose.yml

version: "3"
   
services:
  db:
    image: postgres:12
    restart: unless-stopped
    env_file: ./.env
    volumes: 
      - postgres_data:/var/lib/postgresql/data
  web:
    build:
      context: .
    restart: unless-stopped
    env_file: ./.env
    command: python manage.py runserver 0.0.0.0:80
    volumes:
      - static:/code/static/
      - .:/code
    #ports:
    #  - "8000:8000"
    depends_on:
      - db
  nginx-proxy:
    image: jwilder/nginx-proxy
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - certs:/etc/nginx/certs:ro
      - vhostd:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
    labels:
      - com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    restart: always
    environment:
      - NGINX_PROXY_CONTAINER=nginx-proxy
    volumes:
      - certs:/etc/nginx/certs:rw
      - vhostd:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/var/run/docker.sock:ro
  nginx:
    image: nginx:1.19
    restart: always
    expose:
      - "80"
    volumes:
      - ./config/nginx/conf.d:/etc/nginx/conf.d
      - static:/code/static
      - ./../ecoplatonica:/usr/share/nginx/html:ro
    env_file: ./.env
    depends_on:
      - web
      - nginx-proxy
      - letsencrypt
volumes:
  .:
  postgres_data:
  static:
  certs:
  html:
  vhostd:

【问题讨论】:

  • 您在运行docker-compose down 时是否正在采取措施删除卷?我认为证书应该存在于您的 certs 卷上,并且不需要在每次运行 docker-compose up 时重新创建。
  • 无非docker-compose downdocker-compose up,我不明白为什么每次都要重新创建证书。
  • 我看不出 docker-compose 文件有什么问题。如果您在docker-compose down 之后查看证书卷(docker volume inspect $cert_volume_name 将向您显示支持目录),您在那里看到证书吗?

标签: nginx docker-compose lets-encrypt jwilder-nginx-proxy


【解决方案1】:

我遇到了这个问题,终于解决了。

您需要向 nginx-proxy: 和letsencrypt: services volumes: 部分添加一个卷,如下所示:

volumes:
  - /var/run/docker.sock:/tmp/docker.sock:ro
  - certs:/etc/nginx/certs:ro
  - vhostd:/etc/nginx/vhost.d
  - html:/usr/share/nginx/html
  **- acme:/etc/acme.sh**

然后我添加了

卷: .: postgres_data: 静止的: 证书: html: 虚拟主机: 极致:

现在我有了永久证书。

【讨论】:

    【解决方案2】:

    您需要为nginx-proxy 挂载acme:/etc/acme.sh 文件夹,因为它是在您每次执行向上/向下操作时创建的。另外,将acme: 添加到最后的volumes: 部分。

    您的日志文件中的条目证明了这一点:

    letsencrypt_1  | [Mon Feb  8 11:48:48 UTC 2021] The domain key is here: /etc/acme.sh/email@gmail.com/example.com/example.com.key
    

    另外,看看这个doc

    【讨论】:

      猜你喜欢
      • 2020-12-31
      • 2020-05-03
      • 2021-01-29
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      相关资源
      最近更新 更多