文章目录
前言
如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议,
1.生成安全证书,
2.配置tomcat
提示:以下是本篇文章正文内容,下面可供参考
一、生成安全证书
1.java环境:因为SUN公司提供了制作证书的工具keytool//bin目录下
2.创建证书的命令:./keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore /opt/tomcat.keystore
keytool -genkey:自动使用默认的算法生成公钥和私钥
-alias[名称]:给证书取个别名
-keyalg:制定密钥的算法,如果需要制定密钥的长度,可以再加上keysize
参数,密钥长度默认为1024位,使用DSA算法时,密钥长度必须在512到1024
之间,并且是64的整数倍
-keystore:参数可以指定密钥库的名称。密钥库其实是存放迷药和证书文件,
密钥库对应的文件如果不存在会自动创建。//非目录 新增加文件tomcat.keystore
-validity:证书的有效日期,默认是90天
-keypass changeit:不添加证书密码
-storepass changeit:不添加存储证书的密码
笔者输入密码(怕忘了):tomcat 其它的根据具体情况输入
在opt目录下可以生成tomcat.keystore文件。
二、配置tomcat
tomcat设置https端口时,8443和443区别:
- 8443端口在访问时需要加端口号,相当于http的8080,不可通过域名直接访问,需要加上端口号;https://yuming.com:8443。
- 443端口在访问时不需要加端口号,相当于http的80,可通过域名直接访问;例:https://yuming.com。
定位到tomcat服务器的安装目录, 找到conf下的server.xml文件
去掉注释,修改port="8443"端口为:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/opt/tomcat.keystore"
keystorePass="tomcat"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="" />
重新启动:
Linux中查看Tomcat日志输出
①进入到tomcat目录下:
[root@iZ94byqpectZ ~]# cd /usr/local/java/tomcat
②开启服务器:
[root@iZ94byqpectZ tomcat]# ./bin/startup.sh
③开启日志输出:
[root@iZ94byqpectZ tomcat]# tail -n 200 -f logs/catalina.out
bug:
Caused by: java.lang.IllegalArgumentException: The AJP Connector is configured with secretRequired=“true” but the secret attribute is either null or “”. This combination is not valid.
答: 8.5版本的tomcat有个属性 secretRequired需要给设置值:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="" />