Letsencript 証明書の生成に jonasal/nginx-certbot イメージを使用しています。
docker-compose.yml:
version: '3'
services:
nginx:
image: jonasal/nginx-certbot:latest
restart: unless-stopped
environment:
- [email protected]
env_file:
- ./nginx-certbot.env
ports:
- 80:80
- 443:443
volumes:
- nginx_secrets:/etc/letsencrypt
- ./user_conf.d:/etc/nginx/user_conf.d
volumes:
nginx_secrets:
nginx-certbot.env:
# Required
[email protected]
# Optional (Defaults)
STAGING=0
DHPARAM_SIZE=2048
RSA_KEY_SIZE=2048
ELLIPTIC_CURVE=secp256r1
USE_ECDSA=0
RENEWAL_INTERVAL=8d
# Advanced (Defaults)
DEBUG=0
USE_LOCAL_CA=0
example_server.conf:
server {
# Listen to port 443 on both IPv4 and IPv6.
listen 443 ssl default_server reuseport;
listen [::]:443 ssl default_server reuseport;
# Domain names this server should respond to.
server_name autocensor.ru www.autocensor.ru;
# Load the certificate files.
ssl_certificate /etc/letsencrypt/live/autocensor.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/autocensor.ru/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/autocensor.ru/chain.pem;
# Load the Diffie-Hellman parameter.
ssl_dhparam /etc/letsencrypt/dhparams/dhparam.pem;
return 200 'Let\'s Encrypt certificate successfully installed!';
add_header Content-Type text/plain;
}
docker-compose up を実行すると、次のエラーが発生します:
autocensor.ruの証明書をリクエストし、オートセンサーnginx_1 | nginx_1 | Certbot は一部のドメイン (認証者: webroot) の認証に失敗しました。証明機関から次の問題が報告されました: nginx_1 | ドメイン: autocensor.ru nginx_1 | タイプ:
未承認 nginx_1 | 詳細: サーバーのキー認証ファイルがこのチャレンジと一致しませんでした "pp6XaPNCuZawYdO3O7FNKHfeWtpf1bQzcoIyXVGNOzM.kTA13USq2rwk6zJAuXHkRl6UF3hcK_tiHGRBYu100gU" != "pp6XaPNCuZawYdO3O7FNKHfeWtpf1bQzcoIyXVGNOzM"
しかしhttps://autocensor.ru/.well-known/acme-challenge/pp6XaPNCuZawYdO3O7FNKHfeWtpf1bQzcoIyXVGNOzM.kTA13USq2rwk6zJAuXHkRl6UF3hcK_tiHGRBYu100gU完全なハッシュ コードが表示され、certbot が何らかの理由でそれを切り取ったようには見えません。
オリジナルの phion/baseimage イメージを使用してこれを実行しようとしました。結果は同じです。何が間違っているのでしょうか?
ハッシュの一部だけを出力する必要があるのでしょうか? 他のコンテンツを出力しようとすると、次のような表示が出ました:
"pp6XaPNCuZawYdO3O7FNKHfeWtpf1bQzcoIyXVGNOzM.kTA13USq2rwk6zJAuXHkRl6UF3hcK_tiHGRBYu100gU" != "コンテンツ"
出力内容は右側に残ることを意味します。
どのようなヒントでもいただければ幸いです!