Docker: Błąd Let's Encrypt "Domain name contains an invalid character"

Ta dokumentacja jest częścią przewodnika Routing HTTPS. Pełny przewodnik znajdziesz tutaj: Jak zarządzać routingiem HTTP i szyfrowaniem TLS (HTTPS) w kontenerach Docker.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Docker cloud CaaS (Containers as a Service), które zapewnia wiele korzyści, w tym:

  • Łatwe wdrażanie kontenerów do produkcji za pomocą prostego docker-compose up.
  • Dostosowywana nazwa domeny zabezpieczona HTTPS (na przykład, https://api.twoja-firma.com, https://www.twoja-firma.com, https://backoffice.twoja-firma.com).
  • Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
  • Bezproblemowe aktualizacje za pomocą jednego kliknięcia.

Oszczędzaj czas i upraszczaj swoje życie: wystarczy 5 minut, aby wypróbować rozwiązanie Docker CaaS cloud hosting Stackhero i wdrożyć swoje kontenery do produkcji!

Podczas tworzenia subdomeny Let's Encrypt przestrzega RFC 952 i 1123, które pozwalają tylko na znaki z zestawu [a-zA-Z0-9-].

Chociaż podkreślenia ('_') są dozwolone w nazwach rekordów DNS, nie są akceptowane w nazwach hostów. W rezultacie Let's Encrypt odrzuca subdomeny takie jak "my_subdomain.example.com" i wyświetla błąd "Domain name contains an invalid character".

Aby rozwiązać ten problem, po prostu usuń wszelkie podkreślenia ze swoich subdomen.