tomcat同时使用http和https访问的配置方法
author:一佰互联 2019-04-23   click:236

针对一个tomcat中有的项目需要使用ssl加密有些可以直接访问的情况,可通过修改tomcat/conf下的server.xml来实现。具体配置可参考下面这段代码,注意<Service name=”Catalina1″>这个标签中的配置。

<?xml version="1.0" encoding="utf-8"?><Server port="8005" shutdown="SHUTDOWN">  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />  <Listener className="org.apache.catalina.core.JasperListener" />  <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">    <!-- 此处使用了ssl配置,需用https才可访问 -->    <Connector port="8284" protocol="HTTP/1.1"      connectionTimeout="20000"      redirectPort="8443" URIEncoding="UTF-8"      clientAuth="false" sslProtocol="TLS"      SSLEnabled="true" scheme="https" secure="true"      keystoreFile="conf/tomcat.jks" keystorePass="pico2012server"      truststoreFile="conf/tomcat.jks" truststorePass="pico2012server"      />    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />     <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 "%r" %s %b" />       </Host>    </Engine>  </Service>   <!-- 加入一个新的网站服务配置,每个service都可以单独配置工程加载目录、端口等 -->  <Service name="Catalina1">    <!-- 此处表示加载的工程仍使用原始的http方式访问 -->    <Connector port="8484" protocol="HTTP/1.1"      connectionTimeout="20000"      redirectPort="8443" URIEncoding="UTF-8"      />    <Connector port="18009" protocol="AJP/1.3" redirectPort="18443" />     <Engine name="Catalina1" defaultHost="localhost">      <Realm className="org.apache.catalina.realm.LockOutRealm">        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"          resourceName="UserDatabase"/>      </Realm>      <!-- 该service加载的工程放置目录,与webapps同目录的webapps1 -->      <Host name="localhost" appBase="webapps1"        unpackWARs="true" autoDeploy="true">         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"          prefix="localhost_access_log." suffix=".txt"          pattern="%h %l %u %t "%r" %s %b" />        <!-- 此处要显示的指定加载webapps1下的GS-Web工程 -->        <Context path="" docBase="GS-Web" debug="0" reloadable="true"/>      </Host>    </Engine>  </Service></Server>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持网页设计。