
У меня есть сайт WordPress на AWS EC2, который был настроен (кем-то другим) на автоматическое продление SSL-сертификата через Let's Encrypt.
Автоматическое продление недавно прекратилось, и срок действия сертификата истек.
Я попытался запустить docker exec {container_id} /app/force_renew
, но получил эту ошибку:
Сервер ACME вернул ошибку: urn:acme:error:serverInternal :: На сервере произошла внутренняя ошибка :: ACMEv1 устарел, и вы больше не можете получать сертификаты с этой конечной точки. Используйте конечную точку ACMEv2, для этого вам может потребоваться обновить программное обеспечение клиента ACME. Посетитеhttps://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430/27Чтобы получить больше информации.
Я предположил, что jrcs/letsencrypt-nginx-proxy-companion
образ с тех пор был обновлен для обработки этого необходимого изменения в клиенте ACME, и что извлечение образа и перезапуск контейнера с новым образом исправят автоматическое обновление.
Если это верное предположение, как мне извлечь последний jrcs/letsencrypt-nginx-proxy-companion
образ и перезапустить контейнер, не нарушая тома, подключенные к службам wordpress
или db
?
Если это неверное предположение, как исправить автоматическое продление сертификата?
version: '3.1'
services:
nginx-proxy:
container_name: nginx-proxy
image: jwilder/nginx-proxy:latest
restart: always
ports:
- 80:80
- 443:443
volumes:
- conf:/etc/nginx/conf.d
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- dhparam:/etc/nginx/dhparam
- certs:/etc/nginx/certs:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
nginx-proxy-companion:
image: jrcs/letsencrypt-nginx-proxy-companion:latest
restart: always
volumes:
- conf:/etc/nginx/conf.d
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- dhparam:/etc/nginx/dhparam
- certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
- nginx-proxy
environment:
DEFAULT_EMAIL: [email protected]
NGINX_PROXY_CONTAINER: nginx-proxy
wordpress:
image: wordpress
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: myuser
WORDPRESS_DB_PASSWORD: mypass
WORDPRESS_DB_NAME: mydb
VIRTUAL_HOST: mysite.com
LETSENCRYPT_HOST: mysite.com
volumes:
- ./wp-content:/var/www/html/wp-content
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: mydb
MYSQL_USER: myuser
MYSQL_PASSWORD: mypass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- ./mysql-data:/var/lib/mysql
command: mysqld --sql-mode=""
volumes:
conf:
vhost:
html:
dhparam:
certs: