Guida passo passo per abilitare HTTPS o SSL in modo corretto su Apache Tomcat Server – Porta 8443

Pubblicato: 2021-04-03

Sono passati quasi 12 anni che ho iniziato a usare Apache Tomcat. Credo che quando ho realizzato il mio progetto di prima elementare, fosse su Tomcat versione 1.x Ora è già sulla versione 8.0 . Per lo più sono stato in contatto con Tomcat Server nella mia vita lavorativa quotidiana, semplicemente non posso farne a meno.

Su Crunchify abbiamo già pubblicato quasi 40 articoli su Apache Tomcat . Nella maggior parte del tutorial ho eseguito il server sulla porta 8080 che è la porta predefinita configurata nel file server.xml .

In questo tutorial esamineremo tutti i passaggi in dettaglio su how to enable HTTPS/SSL on Apache Tomcat Server .

Iniziamo:

Passo 1. Crea Keystore

keytool : genereremo una chiave sicura utilizzando il comando keytool , che è uno strumento di gestione delle chiavi e dei certificati.

Comando:

Il file verrà creato nella cartella /Users/Shared .

Sto usando Mac OS X, quindi sostituisci il tuo percorso di conseguenza se sei su Windows. Ho usato la password 123456 .

Genera crunchify.keystore per la configurazione HTTPS di Apache Tomcat - Suggerimenti per Crunchify

Passo 2. Crea una richiesta di firma del certificato autofirmata

Inserisci la password: 123456

Passaggio 3. Controlliamo prima che Tomcat sia in esecuzione sulla porta 8080 su HTTP.

Start il server Tomcat usando il comando: <tomcat_home>/bin/ startup.sh .

Assicurati di essere nella posizione corretta del percorso Tomcat.

Hit URL: http://localhost:8080 per assicurarsi che il server sia attivo e funzionante.

Assicurati che Apache Tomcat sia in esecuzione

Passaggio 4. Ora controlla l'istanza di Tomcat sulla porta 8443 su HTTPS.

  • Ora controlla la porta 8443 (URL HTTPS/SSL).
  • Hit URL: https://localhost:8443
  • Dovresti vedere un messaggio di errore. La pagina non dovrebbe caricarsi affatto.

L'avvio di Apache Tomcat Server non riesce senza un certificato appropriato

Passaggio 5. Aggiorna il file /conf/server.xml

Poiché abbiamo generato il keystore e la richiesta di firma del certificato sopra, dobbiamo dire a Tomcat di usarlo.

  • Aprire il file server.xml che si trova nella cartella <tomcat_home>/conf/ e modificare le impostazioni.
  • Nel nostro caso è la cartella /Users/Shared/apache-tomcat-9.0.30/conf .

Aggiungi la sezione seguente direttamente al file server.xml:

  • Qui la password è 123456 che ho usato nel Step-1 .
  • Protocollo: HTTP/1.1

Abilita HTTPS nel file server.xml per Apache Tomcat

Salvare il file. Successivamente ci fermeremo e avvieremo Tomcat Server.

Passaggio 6. Arresta e avvia Apache Tomcat.

  • bash-3.2$ /Utenti/Condiviso/apache-tomcat-9.0.30/bin/shutdown.sh
  • bash-3.2$ /Utenti/Condiviso/apache-tomcat-9.0.30/bin/startup.sh

Passaggio 7. Controlla l'URL e la certificazione HTTPS: https://localhost:8443

Ora premi di nuovo l'URL protetto HTTPS per verificare che la pagina sia stata caricata correttamente.

Cromo:

  • Per impostazione predefinita, Chrome Blocks all insecure HTTPS .
  • Abilita il Chrome flag per caricare certificati non validi per le risorse caricate da localhost
    1. Vai su Chrome
    2. Apri scheda
    3. digita: chrome://flags/#allow-insecure-localhost
    4. Abilita flag dal menu a discesa
    5. Riavvia Chrome

Google Chrome allow-insecure-localhost - Apache Tomcat

Safari e Mozilla Firefox:

  • Accept invalid certificate error e visita il sito.

Dovresti vedere il caricamento della pagina Apache Tomcat su HTTPS sulla porta 8443

Tomcat Apache in esecuzione sulla porta 8443 su HTTPS

Siete a posto. Hai notato red padlock ? Non preoccuparti. Non abbiamo acquistato certificati SSL da Verisign o Comodo.

Nell'ambiente di produzione potresti non vedere il segno della croce rossa.

Fai clic su certificato nel browser e il nostro certificato autofirmato predefinito dovrebbe essere valid for 90 giorni.

Dai un'occhiata al certificato Crunchify che abbiamo creato nel passaggio 1

Punto bonus:

Come controllare il cert content utilizzando il comando keytool ?

Risultato: