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 gotową do użycia platformę Docker cloud CaaS (Containers as a Service), zaprojektowaną z myślą o szybkich i niezawodnych wdrożeniach kontenerów:

  • Wdrażaj do produkcji za pomocą pojedynczego polecenia docker-compose up. Nie jest wymagana żadna dodatkowa konfiguracja: po prostu uruchom swoje kontenery.
  • Wybierz własną nazwę domeny, automatycznie zabezpieczoną przez HTTPS (na przykład: https://api.twoja-firma.com, https://www.twoja-firma.com lub https://backoffice.twoja-firma.com).
  • Korzystaj z wysokiej wydajności i solidnego poziomu bezpieczeństwa na prywatnej, dedykowanej infrastrukturze.
  • Aktualizuj środowisko jednym kliknięciem, co zapewnia prostą i bezproblemową konserwację.

Twoje kontenery mogą działać w środowisku produkcyjnym już w około pięć minut. Stackhero zarządza infrastrukturą, aktualizacjami i bezpieczeństwem za Ciebie, dzięki czemu możesz skupić się na dostarczaniu swoich aplikacji. Dowiedz się więcej o hostingu Docker CaaS w chmurze.

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.