Puncte:0

Cum pot configura SSL în Tomcat9?

drapel kr

Am încercat să instalez SSL pe tomcat 9 pe portul 8443. Cu toate acestea, nu știu dacă tomcat acceptă formatul pem sau crt SSL.

Am făcut modificări în server.xml, dar când pornesc tomcat primesc eroarea de mai jos în jurnalele catelina.out.

Mai jos este serverul meu.xmaconfiguration.

 <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/privkey.key"
                         certificateFile="conf/fullchain.crt"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

Jurnalele de erori Tomcat

org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["https-openssl-nio-8443"]
17-Nov-2021 14:58:19.826 SEVERE [principal] org.apache.catalina.util.LifecycleBase.handleSubClassException Nu s-a putut inițializa componenta [Conector[HTTP/1.1-8443]]
    org.apache.catalina.LifecycleException: Inițializarea handlerului de protocol a eșuat
        la org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
        la org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
        la org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
        la org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
        la org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1059)
        la org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
        la org.apache.catalina.startup.Catalina.load(Catalina.java:584)
        la org.apache.catalina.startup.Catalina.load(Catalina.java:607)
        la java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Metoda nativă)
        la java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        la java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        la java.base/java.lang.reflect.Method.invoke(Method.java:566)
        la org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:304)
        la org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
    Cauzat de: java.lang.IllegalArgumentException
        la org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:99)
        la org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71)
        la org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:218)
        la org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1124)
        la org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1137)
        la org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:574)
        la org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:74)
        la org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
        ... încă 13
    Cauzat de: java.lang.NullPointerException
        la org.apache.tomcat.util.net.jsse.PEMFile.<init>(PEMFile.java:101)
        la org.apache.tomcat.util.net.jsse.PEMFile.<init>(PEMFile.java:74)
        la org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:303)
        la org.apache.tomcat.util.net.openssl.OpenSSLUtil.getKeyManagers(OpenSSLUtil.java:98)
        la org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:247)
        la org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:
drapel ru
Vă sugerez cu tărie să vă păstrați aplicația Tomcat internă și să o expuneți numai printr-un proxy invers (prin Apache2 direct sau prin NGINX), deoarece Tomcat este renumit pentru că nu face SSL ușor ca parte nativă a aplicației.
Puncte:2
drapel cn

Tomcat este renumit pentru că este dificil cu SSL. Sfatul meu: puneți un proxy invers în fața lui pentru gestionarea SSL.

Există o gamă largă de pachete software care pot servi ca proxy invers. Două dintre cele mai populare sunt Apache și Nginx. Alegeți unul, instalați-l pe aceeași mașină cu serverul dvs. Tomcat și configurați-l să accepte cereri HTTPS pe un port la alegerea dvs. și redirecționați-le ca HTTP către portul dvs. HTTP Tomcat.

Tutoriale pentru configurarea Apache sau Nginx ca proxy invers SSL sunt ușor disponibile în multe locuri, de exemplu Aici și Aici.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.