アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【DebianUbuntu
【Let's Encrypt】Failed authorization procedure 503の対処法
POSTED BY
2025-06-27

Apacheを停止し、certbotのstandaloneモードで証明書を作成しようとしたら出たエラー。

/etc/init.d/apache2 stop
certbot certonly --standalone -d myserver.mydomain.com

/var/log/letsencrypt/letsencrypt.logを確認すると、

2025-06-27 16:14:30,925:DEBUG:acme.standalone:Successfully bound to :80 using IPv6
2025-06-27 16:14:30,925:DEBUG:acme.standalone:Certbot wasn't able to bind to :80 using IPv4, this is often expected due to the dual stack nature of IPv6 socket implementations.

IPv6の80番はbindできたが、IPv4の80番がbindできなかったとエラーが出ている。この実行ホストcerbot:80を中央サーバが叩いてくるので、bindできていないなら当然エラーになる。

対処法

当方の場合、Apacheは普通にIPv4の80をbindできていることから、--standaloneをやめ、--webrootでApache経由でcertbotを実行することで解決した。

一次用最低限httpd.confの作成

<virtualhost>
    ServerAdmin webmaster@mydomain.com
    ServerName myserver.mydomain.com
    CustomLog "/www/myserver/logs/access_log" combined
    ErrorLog "/www/myserver/logs/error_log"
    DocumentRoot "/www/myserver/objs"
    <directory>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </directory>
</virtualhost>

このconfでApacheを立ち上げた上で、以下コマンドでcertbotを実行する。

certbot certonly --webroot -w /www/myserver/objs -d myserver.mydomain.com

これで無事に証明書が作成できた。しかし、一時httpd.confを正規のものに差し替えて正式稼働したあと、certbotのcronにより証明書の更新が無事になされるのかまではまだ確認できていない。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】