应用场景:通过Https来访问Tomcat的项目
一、需要提前准备:
1、域名
2、阿里云ssl证书(可在阿里云免费申请证书,申请证书需要域名)
二、实现思路:
通过本地的Tomcat配置https进行验证
我的域名还在走流程,所以找了一个其他项目域名和证书来模拟测试,域名就不放出来了,后续也会打码(注:要在阿里云下载Tomcat的证书)
因为是其他项目的域名,所以需要通过host重定向域名指向本机ip(这里我把一级和二级域名都指向了本机),233是我的本机
文件保存后通过ipconfig /flushdns刷新一下DNS解析缓存
然后通过ping来验证域名是否指向本机
三、Tomcat配置Https
1、证书存放
在Tomcat目录下创建certificate目录(目录名自定)存放证书
zip就是阿里云下载的证书压缩包(压缩包解压后就没用了这里只是给大家展示下),里面就两个文件:
.pfx文件是证书
pfx-password.txt 文件里是证书的密码
2、修改Tomcat的conf/server.xml配置文件,我把整个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><!-- port端口:https默认443,可根据自己的需求调整如果非443需要在域名后面加端口 --><!-- keystoreFile证书文件路径 --><!-- keystorePass证书密码,在pfx-password.txt中拷贝 --><Service name="Catalina"><Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" keystoreType="PKCS12" keystoreFile="certificate/.pfx" keystorePass="******"SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/><Connector port="8009" protocol="AJP/1.3" redirectPort="443" /><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></Server>
配置修改完成后,启动Tomcat再浏览器通过https+域名进行验证