
問題があった AWS EC2 Linux インスタンスに certbot-auto をようやくインストールし、Let's Encrypt からワイルドカード証明書を取得しようとしています。
_acme-challenge.foo.bar.net という名前 (無実の人を保護するために変更) で、指定された値を持つ TXT レコードを設定するように言われました。
そこで、Route 53 コンソール ページに移動し、bar.net ホスト ゾーンを選択します。指定された値を持つ _acme-challenge.foo.bar.net レコードを追加し、「レコード セットを保存」をクリックして、数分待ちます。次に、それを選択して「レコード セットをテスト」をクリックすると、Route 53 はそれが公開されたと判断します。
しかし、certbot-autoに続行するように指示し、Let's Encryptがレコードを探すと、そこにはレコードがありません。nslookup -q=txt _acme-challenge.foo.bar.netを実行すると、
サーバーは_acme-challenge.foo.bar.netを見つけることができません
nslookup -q=txt foo.bar.netの場合は、
サーバーは foo.bar.net を見つけることができません
それでも、foo.bar.net で通常の nslookup を実行すると、見つかります。
何が問題なのですか?
答え1
問題の原因を見つけました。
NSレコードにリストされているサーバーをクロスチェックしているときに、TXTレコードの名前がそうではないことに気付きました(無実の人々を保護するために名前は変更されています)
_acme-challenge.foo.bar.net
しかし
_acme-challenge.foo.bar.net.bar.net
Route 53 コンソールのレコード セット エディタでは、ホスト ゾーンのドメイン名がレコード セット名を入力するフィールドの右側に配置され、入力した名前に追加されることに気付きませんでした。そのため、レコード名全体を入力していたため、".bar.net" が 2 回 (1 回は明示的に、もう 1 回は暗黙的に) 入力されていました。
架空のエンジニア、モンゴメリー・スコットが最初に発したフレーズを引用すると、
配管について考えすぎると、排水口が詰まりやすくなります。