ฉันได้ลองติดตั้ง SSL บน Tomcat 9 บนพอร์ต 8443 แล้ว อย่างไรก็ตาม ฉันไม่รู้ว่า Tomcat รองรับ pem หรือ crt format SSL หรือไม่
ฉันได้ทำการเปลี่ยนแปลงใน server.xml แต่เมื่อเริ่ม Tomcat ฉันได้รับข้อผิดพลาดด้านล่างในบันทึก catelina.out
ด้านล่างคือการกำหนดค่า server.xma ของฉัน
<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>
บันทึกข้อผิดพลาด Tomcat
org.apache.coyote.AbstractProtocol.init กำลังเริ่มต้น ProtocolHandler ["https-openssl-nio-8443"]
17 พ.ย. 2021 14:58:19.826 SEVERE [หลัก] org.apache.catalina.util.LifecycleBase.handleSubClassException ไม่สามารถเริ่มต้นคอมโพเนนต์ [Connector[HTTP/1.1-8443]]
org.apache.catalina.LifecycleException: การเตรียมใช้งานตัวจัดการโปรโตคอลล้มเหลว
ที่ org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
ที่ org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
ที่ org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
ที่ org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
ที่ org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1059)
ที่ org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
ที่ org.apache.catalina.startup.Catalina.load(Catalina.java:584)
ที่ org.apache.catalina.startup.Catalina.load(Catalina.java:607)
ที่ java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (เมธอดเนทีฟ)
ที่ java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
ที่ java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
ที่ java.base/java.lang.reflect.Method.invoke(Method.java:566)
ที่ org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:304)
ที่ org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
เกิดจาก: java.lang.IllegalArgumentException
ที่ org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:99)
ที่ org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl (AbstractJsseEndpoint.java:71)
ที่ org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:218)
ที่ org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1124)
ที่ org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1137)
ที่ org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:574)
ที่ org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:74)
ที่ org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
... 13 เพิ่มเติม
เกิดจาก: java.lang.NullPointerException
ที่ org.apache.tomcat.util.net.jsse.PEMFile.<init>(PEMFile.java:101)
ที่ org.apache.tomcat.util.net.jsse.PEMFile.<init>(PEMFile.java:74)
ที่ org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:303)
ที่ org.apache.tomcat.util.net.openssl.OpenSSLUtil.getKeyManagers(OpenSSLUtil.java:98)
ที่ org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:247)
ที่ org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java: