Vaša webová aplikácia Java hostená na serveri Tomcat predvolene používa protokol HTTP. Pri použití protokolu HTTP nie je komunikácia medzi klientom a webovým serverom šifrovaná. Nie je to teda bezpečné.
V dnešnej dobe vás takmer všetky prehliadače upozornia, keď sa pokúsite navštíviť odkazy HTTP. Dokonca sa vám zobrazí červený zámok na paneli s adresou URL. Ak chcete, aby sa tento zelený zámok zobrazil na paneli s adresou URL, keď niekto navštívi vašu webovú aplikáciu Java hostenú na webovom serveri Tomcat, musíte povoliť HTTPS v serveri Tomcat. HTTPS je iba zabezpečená verzia protokolu HTTP. Ak je povolený protokol HTTPS, komunikácia medzi klientom a webovým serverom je šifrovaná.
Certifikát SSL (Secure Socket Layer) sa používa na overenie vlastníctva webového servera, ku ktorému sa klient pripája pomocou protokolu HTTPS. Za normálnych okolností si kúpite certifikát SSL od certifikačnej autority alebo CA, ako sú Verisign, DigiCert atď., A nainštalujete si ho na webový server (v tomto prípade webový server Tomcat). Môžete tiež vygenerovať certifikát SSL sami a nainštalovať ho na svoj webový server Tomcat. Takéto certifikáty sa nazývajú certifikáty s vlastným podpisom.
V tomto článku vám ukážem, ako vygenerovať vlastný certifikát SSL alebo certifikát s vlastným podpisom a ako ho nainštalovať na webový server Tomcat. Začnime.
Generovanie certifikátu SSL s vlastným podpisom:
Pred inštaláciou certifikátu SSL na webový server Tomcat musíte vygenerovať súbor Java KeyStore alebo JKS. Pri inštalácii webového servera Apache Tomcat sa nainštalujú aj všetky potrebné nástroje na vygenerovanie súboru úložiska kľúčov JKS. Môžete použiť keytool nástroj na generovanie súboru JKS v systéme Linux.
Rád uchovávam všetky kľúčové súbory, ktoré generujem, v jednom adresári. Chystám sa teda vytvoriť nový adresár (nazvime to) kľúče) v /atď adresár.
Vykonáte to nasledujúcim príkazom:
$ sudo mkdir / etc / keys
Teraz prejdite na ikonu / etc / keys adresár s nasledujúcim príkazom:
$ cd / etc / keys
Teraz vygenerujte súbor certifikátu JKS (s rovnakým názvom ako je názov vašej domény) pomocou nasledujúceho príkazu:
$ sudo keytool -genkey -alias tomcat -keyalg RSA -keystorekocúr.linuxhint.com.jks
POZNÁMKA: Tu, kocúr je alias súboru Java KeyStore. Môžete ho zmeniť na čokoľvek chcete. Tiež, kocúr.linuxhint.com.jks je názov výstupného súboru certifikátu JKS.
Teraz zadajte heslo pre svoj súbor Java KeyStore a stlačte
Znova zadajte rovnaké heslo a stlačte
Teraz zadajte plne kvalifikovaný názov domény (FQDN) servera Tomcat a stlačte
POZNÁMKA: Ak chcete použiť zástupné názvy domén, môžete to urobiť tu. Môžete napríklad napísať *.tvoja domena.com; V takom prípade bude tento certifikát platný pre web1.tvoja domena.com, web2.tvoja domena.com a tak ďalej.
Teraz zadajte svoju organizačnú jednotku (OU) a stlačte
Teraz sem zadajte názov svojej spoločnosti alebo organizácie a stlačte
Teraz zadajte názov mesta vašej spoločnosti alebo organizácie a stlačte
Teraz zadajte názov štátu, ktorý ste zadali skôr, a stlačte
Teraz zadajte dvojpísmenový kód krajiny vašej krajiny a stlačte
Nakoniec zadajte Áno potvrďte správnosť všetkých informácií a stlačte
Váš súbor s certifikátom JKS by mal byť vygenerovaný.
Ako vidíte, súbor kľúčov JKS (v mojom prípade kocúr.linuxhint.com.jks) sa generuje v / etc / keys adresár.
V ďalšej časti tohto článku vám ukážem, ako nainštalovať certifikát JKS s vlastným podpisom na váš webový server Tomcat.
Inštalácia certifikátu SSL s vlastným podpisom na webový server Tomcat:
Teraz, keď máte certifikát SSL s vlastným podpisom, môžete si ho nainštalovať na webový server Apache Tomcat a veľmi ľahko povoliť protokol HTTPS. Ak to chcete urobiť, musíte upraviť server.xml súbor webového servera Apache Tomcat. V systéme Ubuntu 18.04 LTS, server.xml súbor je v ceste / etc / tomcat8 / server.xml
Teraz upravte server.xml súbor s nasledujúcim príkazom:
$ sudo nano / etc / tomcat8 / server.xml
Teraz nájdite riadok označený na snímke obrazovky nižšie.
Vnútri
keystoreFile = "PATH_TO_YOUR_JKS_FILE" keystorePass = "YOUR_KEYSTORE_PASSWORD"
clientAuth = "false" keyAlias = "YOUR_KEY_ALIAS" sslProtocol = "TLS" />
POZNÁMKA: Uistite sa, že ste sa zmenili HTTPS_PORT, PATH_TO_YOUR_JKS_FILE a YOUR_KEYSTORE_PASSWORD, YOUR_KEY_ALIAS podľa tvojej potreby.
Nakoniec server.xml súbor by mal vyzerať takto, ako je to označené na snímke obrazovky nižšie. Uložte súbor stlačením
Teraz reštartujte službu Tomcat pomocou nasledujúceho príkazu:
$ sudo systemctl restart tomcat8
Teraz pomocou nasledujúceho príkazu skontrolujte, či je služba Tomcat spustená:
$ sudo systemctl status tomcat8
Ako vidíte, služba Tomcat je spustená. To znamená, že konfigurácia bola úspešná.
Teraz otvorte webový prehľadávač a pokúste sa získať prístup na svoj web hostený na webovom serveri Tomcat. Mali by ste vidieť nasledujúce varovanie. Kliknite na Pokročilé.
Znamená to len, že váš certifikát SSL je podpísaný sám sebou. Ak si zakúpite certifikát SSL od certifikačnej autority (CA), toto sa nezobrazí. Teraz kliknite na Pridať výnimku ..
Teraz kliknite na Potvrďte bezpečnostnú výnimku.
Ako vidíte, funguje to. Zobrazí sa tiež zelená ikona zámku.
Takto teda nainštalujete certifikát SSL na webový server Tomcat. Ďakujeme, že ste si prečítali tento článok.