
我在 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: