Tomcat 未在端口 8443 中启动

Tomcat is not starting in port 8443

我在 digitalocean 的 ubuntu VM 中使用 apache 服务器托管了一个网站。我想在我的后端 url 的 Tomcat 8 上配置 SSL 以使其成为 HTTPS。

为此,我生成了一个 .keystore 并更改了 tomcat/config 目录中的 server.xml 文件。 但是当我加载端口 8443 和我的 ip ( https://111.11.11.11:8443/ ) 时,它不会加载。 8443端口不在服务器的监听列表中

我的server.xml文件如下。

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
          type="org.apache.catalina.UserDatabase"
          description="User database that can be updated and saved"
          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>


<Service name="Catalina">


<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />


<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
       disableUploadTimeout="true" enableLookups="false"
       keystoreFile="/home/sedsslweb/tomcat.keystore" keystorePass="password"
       maxThreads="25" port="8443"
       protocol="org.apache.coyote.http11.Http11NioProtocol"
       scheme="https" secure="true" sslProtocol="TLS"/>

 <Engine name="Catalina" defaultHost="localhost">

 <Realm className="org.apache.catalina.realm.LockOutRealm">
 <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
           resourceName="UserDatabase"/>
 </Realm>

 <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>
</Engine>
</Service>
</Server>

基本上我想要的是使后端 url https 因为我无法从我的 https 前端 url 发送请求到后端 http url因为内容混杂被屏蔽了(前端后端都必须是https还是http)

我被这个问题困了好几天了,谁能帮我解决这个问题。或者至少可以替代后端 https。

Ps:在 catalina.out 我遇到了这个错误。

 org.apache.catalina.LifecycleException: Protocol handler initialization failed
            at org.apache.catalina.connector.Connector.initInternal(Connector.java:1077)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.core.StandardService.initInternal(StandardService.java:557)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:850)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:639)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:662)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:305)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
    Caused by: java.lang.IllegalArgumentException: /opt/tomcat/tomcat.keystore (Permission denied)
            at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:100)
            at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:72)
            at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:247)
            at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1147)
            at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:222)
            at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:599)
            at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:80)
            at org.apache.catalina.connector.Connector.initInternal(Connector.java:1074)

我刚刚更改了 /opt/tomcat 目录的权限,它非常有效。

chown -R tomcat:tomcat /opt/tomcat