LetsEncrypt
経由で自分のウェブサイトにワイルドカードSSLを作成したい。私はその指示に従い、Certbot
を実行した後、DNSチャレンジを実行し、次のように述べています。
Please deploy a DNS TXT record under the name
_acme-challenge.db.example.com with the following value:
jn324jr348r342bhr234hrou234nbr4324fj34r
また、db.example.comは/etc/bind/
の中にあります。
私がしていることは、開いたdb.example.com
であり、一番下の行にこれを追加します。
_acme-challenge.db.example.com 3600 IN TXT "jn324jr348r342bhr234hrou234nbr4324fj34r"
しかし、私がこのようにそれをチェックするとき:
nslookup -type=TXT _acme-challenge.example.com
それは私にこのエラーを与えます:
- The following errors were reported by the server:
Domain: db.example.com
Type: dns
Detail: DNS problem: NXDOMAIN looking up TXT for
_acme-challenge.db.example.com - check that a DNS record
exists for this domain
ubuntu@me-1:/etc/bind$ nslookup -type=TXT _acme-challenge.example.com
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find _acme-challenge.example.com: NXDOMAIN
そして、Certbotを実行すると、エラーも発生します。
Some challenges have failed.
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: db.example.com
Type: dns
Detail: DNS problem: NXDOMAIN looking up TXT for
_acme-challenge.db.example.com - check that a DNS record
exists for this domain
ここで何が悪いのですか?
DNSゾーンの変更が世界中のサーバーで更新されるまで、しばらく待つ必要があることに注意してください。問題は、DNSへの変更の適用が速すぎるかどうかを確認しようとしていることです。この場合には良い方法があり、DNSプロバイダーのAPIを使用する必要があります。たとえばOVHを使用する場合、DNSの変更にAPIを使用でき、certbotは変更をすぐに確認できます。ここにすべてのAPIプラグインのリストがあります: https://certbot.eff.org/docs/using.html?highlight=dns#dns-plugins
DNSプロバイダーがこれをサポートしていない場合は、DNSゾーンをCloudflareに移動してみてください。とても簡単で、そのサービスは無料で受けられます。また、DNS APIを使用すると、次のようにcronに1つのコマンドを残して、ワイルドカード証明書を無料で更新できます。
0 1 20 * * root certbot certonly --non-interactive -d example.com -d '*.example.com' --dns-cloudflare --dns-cloudflare-credentials /my/secret/api/key/location
ゾーンファイルでは、ドット.
で終わらない名前は、通常、現在のドメインに関連しています。
したがって、_acme-challenge.db.example.com
のゾーン内のdb.example.com
のエントリは、実際には_acme-challenge.db.example.com.db.example.com.
のエントリを意味します
正しいエントリがあることを確認するには、次のいずれかを実行できます。
最後にドットを追加:_acme-challenge.db.example.com.
または、ドメインを含めないでください:_acme-challenge
これはdb.example.com
のゾーンに基づいていますが、ゾーンがexample.com
の場合は少し異なります。
また、ゾーンを更新するときに(SOAレコード内の)ゾーンのシリアルを更新し、ゾーンを再ロードすることを忘れないでください。
これはもちろん、ドメインに登録されたネームサーバーが独自のサーバー(およびセカンダリ)であることに基づいています。
nslookup
またはDig
を使用してクエリを実行する場合、どのサーバーから回答を求めるかを指示できます。常に最初にプライマリ、次にセカンダリ、その他のサーバーを確認することから始めます。また、一部のタイプの更新には時間がかかる場合があることを忘れないでください(特に、前のレコードのTTLの影響を受ける変更と、ドメインの負のキャッシュTTLの影響を受ける追加) 。