
私は AWS EC2 上に WordPress サイトを持っていますが、これは Let's Encrypt 経由で SSL 証明書を自動更新するように (他の誰かによって) 設定されています。
最近、自動更新が停止され、証明書の有効期限が切れました。
実行しようとしました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: