创建HTTPS项目
我们平时的项目都是以hhtttp来访问的,要是想以https的形式来访问该如何配置呢?
1.创建KEY
两种方式创建KEY
a. 使用TOMCAT的工具
打开CMD,以命令行方式切换到TOMCAT目录下的BIN目录,在cmd命令行输入如下命令:
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
-alias 公钥名称
-keyalg 产生公钥的算法
-keypass 密码
-keystore 产生公钥文件的名称
-validity 公钥有效期
b.使用JAVA的工具
打开CMD,以命令行方式切换到JAVA目录下的BIN目录(如配置了JAVA环境变量,则不需要切换到BIN目录,直接就可以运行命令),在CMD下输入:
keytool -genkey -alias mykey -keystore mystore
如图:
2.修改tomcat的server.xml文件
在文件里加上这么一段
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" sslProtocol="TLS" keystoreFile="D:/tomcat.keystore" keystorePass="123456"/>
keystoreFile 公钥的位置
keystorePass 公钥的密码
然后重新启动tomcat即可以HTTPS访问项目。可以用https://127.0.0.1:8443来测试是否访问成功。
要注意的事项:
1.以上配置好后在ECLIPSE中启动服务器,是不能以HTTPS来访问的。解决办法删掉 SERVER ,新建个SERVER。这样会重新加载TOMCAT中修改过的server.xml文件,然后用ECLIPSE启动服务器,可以HTTPS访问项目了。
2.在设置TOMCAT的server.xml文件时,要注意不同的版本是不同的配置的。
3.可以在tomcat目录下的bin中启动tomcat,当设置不能成功时,在logs目录下找catalina日志。
a.如果报keystoreFile和"D:/tomcat.keystore" 属性不能匹配 keystorePass和123456属性不能匹配,则是
protocol设置的问题
b. 找不到KEY文件,当然是KEY文件的问题
c. 密码不对,是密码设置的问题。
反正是如果配置不成功,就在ogs目录下找catalina日志。然后解决问题。