Docker: Let's Encryptエラー「ドメイン名に無効な文字が含まれています」
このドキュメントはHTTPSルーティングガイドの一部です。完全なガイドはこちらからご覧いただけます:DockerコンテナでのHTTPルーティングとTLS暗号化(HTTPS)の管理方法。
Stackheroドキュメントへようこそ
Stackheroは、迅速かつ信頼性の高いコンテナデプロイメントのために設計された、すぐに使えるDockerクラウドCaaS(Containers as a Service)プラットフォームを提供しています。
docker-compose upひとつで本番環境にデプロイできます。追加設定は不要で、コンテナをそのまま起動するだけです。- 独自のドメイン名を選択でき、自動的にHTTPSでセキュア化されます(例:https://api.your-company.com、https://www.your-company.com、https://backoffice.your-company.com など)。
- プライベートかつ専用インフラ上で、高いパフォーマンスと堅牢なセキュリティを実現します。
- ワンクリックでアップデートを適用でき、シンプルかつ手間のかからないメンテナンスが可能です。
約5分でコンテナを本番環境で稼働させることができます。Stackheroがインフラ、アップデート、セキュリティを管理するため、アプリケーション開発に集中できます。Docker CaaSクラウドホスティングの詳細もご覧ください。
サブドメインを作成する際、Let's EncryptはRFC 952および1123に従い、[a-zA-Z0-9-]のセット内の文字のみを許可します。
アンダースコア('_')はDNSレコード名では許可されていますが、ホスト名では許可されていません。その結果、Let's Encryptは「my_subdomain.example.com」のようなサブドメインを拒否し、「ドメイン名に無効な文字が含まれています」というエラーを表示します。
この問題を解決するには、サブドメインからアンダースコアを削除するだけです。