开启https访问
我们打开tomcat的conf目录下的server.xml
,找到name为Catalina
的Service标签里的<Connector port="" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="" />
标签,修改port
和redirectPort
属性,代码如下:
<!--开启https访问-->
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443"/>
随后,在上述标签的后面加上下述代码,让非80端口的访问跳转到443端口
<!--非80端口的访问跳转到443端口-->
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443"/>
配置SSL证书
把域名的证书文件server.jks
和keystorePass.txt
文件放在conf目录下,在server.xml中的name为Catalina
的Service标签里添加下述代码。
<!--配置SSL证书-->
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/server.jks"
certificateKeystorePassword=""
type="RSA"/>
</SSLHostConfig>
</Connector>
certificateKeystoreFile为你的证书文件,certificateKeystorePassword为你的证书文件密码,这个密码在
keystorePass.txt
文件里
配置路径访问
将war包放入tomcat的webapps目录下后,我们想访问需要带上项目名才可以,如果我们不想加项目名就能直接访问我们的项目,就需要另作配置了。
在server.xml文件中,找到<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
标签,在其中添加Context
标签,代码如下:
<!--配置路径访问-->
<Context path="" docBase=""></Context>
path: 留空则表示为域名根目录,docBase为你的war包所在目录
配置http强跳https
当用户使用http访问我们的网站时,我们需要强制重定向到https访问,我们只需要在tomcat的conf目录下的web.xml
里的welcome-file-list
标签后面添加下述代码即可。
<!--开启http强制跳转https访问-->
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>