Przewodnik krok po kroku dotyczący prawidłowego włączania protokołu HTTPS lub SSL na serwerze Apache Tomcat — port 8443

Opublikowany: 2021-04-03

Od prawie 12 lat zacząłem używać Apache Tomcat. Wierzę, że kiedy zrobiłem mój pierwszy projekt w ramach klasy, był to Tomcat w wersji 1.x Teraz jest już w wersji 8.0 . Przeważnie miałem kontakt z Tomcat Server w mojej codziennej pracy, po prostu nie mogę bez niego żyć.

Na Crunchify opublikowaliśmy już prawie 40 artykułów na temat Apache Tomcat . W większości tutoriali uruchamiałem serwer na porcie 8080, który jest domyślnym portem skonfigurowanym w pliku server.xml .

W tym samouczku szczegółowo omówimy wszystkie kroki dotyczące how to enable HTTPS/SSL on Apache Tomcat Server .

Zacznijmy:

Krok 1. Utwórz magazyn kluczy

keytool : wygenerujemy bezpieczny klucz za pomocą polecenia keytool – które jest narzędziem do zarządzania kluczami i certyfikatami.

Komenda:

Plik zostanie utworzony w folderze /Users/Shared .

Używam systemu Mac OS X, więc zamień odpowiednio ścieżkę, jeśli korzystasz z systemu Windows. Użyłem hasła 123456 .

Wygeneruj plik crunchify.keystore dla konfiguracji Apache Tomcat HTTPS — porady dotyczące Crunchify

Krok 2. Utwórz żądanie podpisania certyfikatu z podpisem własnym

Wpisz hasło: 123456

Krok 3. Sprawdźmy najpierw, czy tomcat działa na porcie 8080 przez HTTP.

Start serwer tomcat za pomocą polecenia: <tomcat_home>/bin/ startup.sh .

Upewnij się, że jesteś we właściwej lokalizacji ścieżki tomcat.

Hit URL: http://localhost:8080 , aby upewnić się, że serwer jest uruchomiony i działa.

Upewnij się, że Apache Tomcat jest uruchomiony

Krok 4. Teraz sprawdź instancję tomcat na porcie 8443 przez HTTPS.

  • Teraz sprawdź port 8443 (URL HTTPS/SSL).
  • Hit URL: https://localhost:8443
  • Powinieneś zobaczyć komunikat o błędzie. Strona nie powinna się w ogóle ładować.

Uruchomienie serwera Apache Tomcat nie powiedzie się bez odpowiedniego certyfikatu

Krok-5. Zaktualizuj plik /conf/server.xml

Ponieważ powyżej wygenerowaliśmy żądanie podpisania magazynu kluczy i certyfikatu, musimy powiedzieć tomcatowi, aby go użył.

  • Otwórz plik server.xml , który znajduje się w <tomcat_home>/conf/ i zmodyfikuj ustawienia.
  • W naszym przypadku jest to folder /Users/Shared/apache-tomcat-9.0.30/conf .

Dodaj poniższą sekcję bezpośrednio do pliku server.xml:

  • Tutaj hasło to 123456 , którego użyłem w Step-1 .
  • Protokół: HTTP/1.1

Włącz HTTPS w pliku server.xml dla Apache Tomcat

Zapisz plik. Następnie zatrzymamy się i uruchomimy serwer Tomcat.

Krok-6. Zatrzymaj i uruchom Apache Tomcat.

  • bash-3.2$ /Users/Shared/apache-tomcat-9.0.30/bin/shutdown.sh
  • bash-3.2$ /Users/Shared/apache-tomcat-9.0.30/bin/startup.sh

Krok-7. Sprawdź adres URL i certyfikat HTTPS: https://localhost:8443

Teraz ponownie naciśnij bezpieczny adres URL HTTPS, aby sprawdzić, czy strona została załadowana pomyślnie.

Chrom:

  • Domyślnie Chrome Blocks all insecure HTTPS .
  • Włącz Chrome flag aby wczytać nieprawidłowe certyfikaty dla zasobów ładowanych z localhost
    1. Przejdź do Chrome
    2. Otwórz kartę
    3. wpisz: chrome://flags/#allow-insecure-localhost
    4. Włącz flagę z menu rozwijanego
    5. Uruchom ponownie Chrome

Google Chrome allow-insecure-localhost – Apache Tomcat

Safari i Mozilla Firefox:

  • Accept invalid certificate error i odwiedź witrynę.

Powinieneś zobaczyć stronę Apache Tomcat ładującą się przez HTTPS na porcie 8443

Tomcat Apache działający na porcie 8443 przez HTTPS

Wszystko gotowe. Czy zauważyłeś red padlock ? Nie martw się. Nie kupiliśmy certyfikatu SSL od Verisign lub Comodo.

W środowisku produkcyjnym możesz nie widzieć tego czerwonego krzyża.

Kliknij certyfikat w przeglądarce, a nasz domyślny samopodpisany certyfikat powinien być valid for 90 dni.

Sprawdź certyfikat Crunchify, który stworzyliśmy w kroku 1

Punkt bonusowy:

Jak sprawdzić cert content za pomocą polecenia keytool ?

Wynik: