Назад | Перейти на главную страницу

Создание сертификатов LetsEncrypt для общего доступа NFS

Я пытаюсь создать сертификат подстановочного знака letsencrypt для использования на разных веб-сайтах (одно полное доменное имя, несколько поддоменов). План состоит в том, чтобы сохранить эти сертификаты в общей папке NFS, чтобы я мог легко получить к ним доступ на различных веб-серверах.

Но когда я монтирую свой общий ресурс NFS в /etc/letsencrypt поэтому он сохраняет сертификаты туда, я получаю сообщение об ошибке:

letsencrypt | IOError: [Errno 37] Нет доступных блокировок

Я установил режим папки на общем ресурсе на 777, поэтому у нее должен быть доступ на запись.

Мой docker-compose.yml файл:

version: '3.5'
services:
  letsencrypt:
    image: linuxserver/letsencrypt
    restart: unless-stopped
    network_mode: host
    cap_add:
      - NET_ADMIN
    environment:
    - OTHERSTUFF=blahblah
    - STAGING=true
    volumes:
    - ./config/letsencrypt:/config/dns-conf
    - Certs:/config/etc/letsencrypt

volumes:
  Certs:
    name: certs
    driver: local
    driver_opts:
      type: nfs
      o: addr=10.0.1.14,rw
      device: ":/media/NAS/Certs"

Ты можешь

  • Используйте другой клиент, который не пытается заблокировать файл. На веб-сайте letsencrypt указано большое количество клиентов.
  • Используйте свой клиент, чтобы загрузить сертификат в локальную файловую систему, а затем скопируйте сертификат в общий ресурс NFS.
  • Попробуйте использовать опцию монтирования NFS lock, хотя он должен быть включен по умолчанию, или local_lock=all