内部 DNS サーバー上の内部サーバー用の Let's Encrypt SSL 証明書を取得する

内部 DNS サーバー上の内部サーバー用の Let's Encrypt SSL 証明書を取得する

私は現在、組織を運営しており、ネットワーク内でホストされている内部ウェブサイトを使用しています。Gitea サーバーサードパーティのサービスに頼ることなく重要な文書にアクセスできるようにします。

私はすでにDNSサーバーを設定しています。マラDNS適切なIPアドレスにルーティングします。このサーバーでは追加のアプリケーション(内部REST APIなど)も実行していますが、現在は自己署名証明書に依存しています。ライブラリCURL

これらのタイプの証明書を扱うのは面倒で面倒だと感じ始めています。暗号化しましょうサービスです。CA はブラウザでよく認識されるため、証明書を更新するたびに料金を支払う必要がありません。

これを取得するにはどうすればよいでしょうか?

答え1

Let's Encrypt は一般向けサービスを対象としており、グローバル インターネットからアクセスできない完全な内部名をサポートしていません。

LE 証明書を取得するための最初の要件は、証明書を取得するホスト名がグローバル DNS 内に存在するか、作成可能であることです。

それが満たされたら、2つの選択肢があります課題: HTTP-01 および DNS-01。

HTTP-01 は、IPv6 または IPv4 を使用してその名前のポート 80 の HTTP サーバーに接続することにより、ホスト名の制御を確認します。当然、その名前にはグローバル DNS に適切なアドレス レコードが必要です。

DNS-01を使用すると、グローバルDNSに特定のTXTレコードを設定することでホスト名を検証できます。通常、これはサポートされているDNSプロバイダーからのAPIただし、グローバル DNS レコードがサポートされているプロバイダーによってホストされていない場合は、手動で行うこともできます。

これらの制限を回避して証明書を取得できる可能性はありますが、それは提供していない環境の多くの詳細に依存します。少し考えれば、おそらくそれを実行する方法が見つかるかもしれません。

関連情報