Tomcat + HTTPS

Re:Tomcat + HTTPS
« Odpověď #15 kdy: 05. 08. 2020, 20:21:47 »
Když server nenastartuje, co je v logu za chybu? KeyStore Explorer vám to úložiště otevře a je tam vše správně?

Importovat zvlášť certifikát serveru a zvlášť certifikát CA podle mne přes keytool nejde, nespojí se to do jednoho záznamu. Buď je potřeba vložit i ten certifikát CA do PFX a to pak naimportovat v jednom kroku přes keystore. A nebo použijte ten KeyStore Explorer, tam to můžete přidat postupně, a rovnou vidíte, zda je ten certifikační řetězec správně.


Re:Tomcat + HTTPS
« Odpověď #16 kdy: 05. 08. 2020, 22:16:16 »
Moc děkuji!!! KeyStore Explorer mi pomohl. Tomcat na portu 8843 funguje i s certifikatem. Teď už jen musím nastavit, aby jel jen na 443 a problém vyřešen :)

Re:Tomcat + HTTPS
« Odpověď #17 kdy: 05. 08. 2020, 23:38:39 »
https://confluence.atlassian.com/adminjiraserver/running-jira-applications-over-ssl-or-https-938847764.html

Sekce Troubleshooting něco nenapoví?

Já bych vám napověděl, že Jira je něco jiného než Tomcat.  ::)

To by ste sa divil, ale JIRA bezi ako webapp na Tomcate a ten navod z JIRA je aplikovatelny aj na tazatelovu situaciu...

Re:Tomcat + HTTPS
« Odpověď #18 kdy: 05. 08. 2020, 23:48:35 »
Moc děkuji!!! KeyStore Explorer mi pomohl. Tomcat na portu 8843 funguje i s certifikatem. Teď už jen musím nastavit, aby jel jen na 443 a problém vyřešen :)

Na kontrolu spravnosti vygenerovaneho keystoru odporucam tuto utilitku: https://github.com/MichalHecko/SSLPoke

Teraz este vyriesit privilegovane porty - odporucam sa pozriet po utilitke authbind (Debian) napr. aj modifikovanim startup.sh, napr.:

Kód: [Vybrat]
1) Install authbind
2) Make port 443 available to authbind (you need to be root):
touch /etc/authbind/byport/443
  chmod 500 /etc/authbind/byport/443
  chown tomcat /etc/authbind/byport/443
3) Change /usr/share/tomcat/bin/startup.sh
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
  # OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"


alebo v pripade napr. Redhat odporucam:

Kód: [Vybrat]
setcap 'cap_net_bind_service=+ep' /usr/lib/jvm/bin/java

ktory mne na Redhatoch a Centosoch nikdy nefungoval poriadne, nakolko je tam problem s:

Kód: [Vybrat]
java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

treba povolit loadovanie kniznice

Kód: [Vybrat]
sudo vim /etc/ld.so.conf.d/java.conf

Jeho obsah je napr. tento riadok: /usr/java/jdk1.8.0_191-amd64/lib/amd64/jli

sudo ldconfig

idealne je to pekne riesit na urovni SystemD, rovno v unite povolit capabilities:
Kód: [Vybrat]
AmbientCapabilities=CAP_NET_BIND_SERVICE

Ale inak, zlaty Debian

Re:Tomcat + HTTPS
« Odpověď #19 kdy: 05. 08. 2020, 23:58:51 »
Netrap sa a daj pred toho tomcata nginx v reverse proxy mode ako radil niekto vyssie. Strata vykonu limitne nulova, ale usetri to strasne vela nervov.

Tiez som si kedysi myslel, ale najdu sa pripady, kedy zdanie klame:

Uplne bezna situacia, v spojeni s kontainermi, kde samozrejme Docker nie uplne funguje tak, ze dependsOn neznamena, ze kontainer je v 100% stave ready a dochadza k tomu, ze NGINX nabehne skor, ako je mozne resolvnut DNS kontainera, ktory je v "proxy_pass"...

Netestoval som na Docker Swarm alebo Kubernates, tam moze byt situacia mierne odlisna.

Vo vysledku je to error pri nabehu nginx....ako, toto sa Vam stane vzdy, ked vam NGINX nabehne skor, ako je mozne resolvnut DNS zaznam targetu v proxy_pass, aj mimo kontainery,ale tam sa to deje vzdy....

Riesenia:

1. extendnut NGINX image, a doplnit utilitku, ktora pocka na nabeh ostatnych kontainerov (ble, a co ak niektory z kontainerov nenabehne nikdy ?) - https://github.com/eficode/wait-for
2. nastavit restart policy pre NGINX - opat, co ak nenabehne niektory z proxy_pass targetov vobec ?
3. odrbat nginx, nastavenim aliasov alebo nejakeho ineho DNS resolvera...

Tejto teme (3) sa dost venuju tu, zial, mne sa to nikdy nepodarilo takto odrbat:
- https://stackoverflow.com/questions/32845674/setup-nginx-not-to-crash-if-host-in-upstream-is-not-found
- https://stackoverflow.com/questions/50248522/nginx-will-not-start-with-host-not-found-in-upstream/50358455

Ak vie niekto, ako to vyriesit bodom 3 alebo aj nejako inak, sem s radou - mne premenne nesli.

Zlaty Apache
« Poslední změna: 06. 08. 2020, 00:01:16 od Vočko Szyslak »


Re:Tomcat + HTTPS
« Odpověď #20 kdy: 06. 08. 2020, 07:59:10 »
To by ste sa divil, ale JIRA bezi ako webapp na Tomcate a ten navod z JIRA je aplikovatelny aj na tazatelovu situaciu...
Nedivil. Vím, že Jira používá Tomcat. Akorát jsem se na ten návod díval, a je tam dost věcí specifických pro Jiru. Tazatele by to jen mátlo.

Re:Tomcat + HTTPS
« Odpověď #21 kdy: 06. 08. 2020, 08:01:29 »
Teď už jen musím nastavit, aby jel jen na 443 a problém vyřešen :)
V systemd jednotce, kterou Tomcat spouštíte, nastavíte:

Kód: [Vybrat]
[Service]
CapabilityBoundingSet=cap_net_bind_service

Tím pádem bude moci služba naslouchat na nízkých portech, i když neběží pod rootem. Pak už jen v konfiguráku Tomcatu přepíšete port 8443 na port 443.

Re:Tomcat + HTTPS
« Odpověď #22 kdy: 06. 08. 2020, 08:41:30 »
Vyřešeno. Díky moc Filip Jirsák!!!

Připsat v systemd jednotce pomohlo.

[Service]
CapabilityBoundingSet=cap_net_bind_service

Zase jsem se něco naučil :D Ještě jednou moc díky.

Re:Tomcat + HTTPS
« Odpověď #23 kdy: 06. 08. 2020, 10:25:03 »
To je dobře. Rádo se stalo.  :)

Re:Tomcat + HTTPS
« Odpověď #24 kdy: 10. 08. 2020, 11:18:59 »
Odkazoval jsem Vás na tomcat doc: https://tomcat.apache.org/tomcat-8.5-doc/ssl-howto.html

Změnťe protokol na ...apr...: a připravte si p12 certifikát v server.crt a klíč v server.pem, tady v příkladu bez hesla:

<!-- Define an SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
           protocol="org.apache.coyote.http11.Http11AprProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="/usr/local/ssl/server.crt"
           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
           SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"/>