Tomcat 配置https协议

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LJX_ahut/article/details/82153895

记录一下为了使Tomcat容器支持https协议所做的配置步骤

1.首先部署Tomcat的环境,从apache官方网站上下载解压版tomcat解压后防止某个目录即可,不再赘述

2.使用java自带的工具生成安全证书

进入jdk安装目录下的bin文件夹,进入dos界面(资源管理器进入该级目录后按住shift键右击鼠标,选择"在此处打开命令窗口")

使用命令

keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore"

参数解释

C:\Program Files\Java\jdk1.8.0_121\bin>keytool -genseckey -help
keytool -genseckey [OPTION]...

生成密钥

选项:

 -alias <alias>                  要处理的条目的别名
 -keypass <arg>                  密钥口令
 -keyalg <keyalg>                密钥算法名称
 -keysize <keysize>              密钥位大小
 -keystore <keystore>            密钥库名称
 -storepass <arg>                密钥库口令
 -storetype <storetype>          密钥库类型
 -providername <providername>    提供方名称
 -providerclass <providerclass>  提供方类名
 -providerarg <arg>              提供方参数
 -providerpath <pathlist>        提供方类路径
 -v                              详细输出
 -protected                      通过受保护的机制的口令

使用 "keytool -help" 获取所有可用命令

为了方便管理,将f盘根目录生成的tomcat.keystore复制到tomcat的config同级目录中的ssl文件夹中

3.修改server.xml

原有的配置是注释状态,如下所示
 

<!-- <Connector SSLEnabled="true" clientAuth="false"  maxThreads="150" port="8443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/> -->

修改为

<Connector SSLEnabled="true" clientAuth="false" connectionTimeout="20000" keystoreFile="E:/lujx/Refs/apache-tomcat-8.0.53/ssl/tomcat.keystore" keystorePass="123456" maxThreads="150" port="8443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>
参数属性说明
属性 描述

clientAuth

  如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证  

keystoreFile

 指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于<CATALINA_HOME>(Tomcat安装目录)环境变量 的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为“.keystore”的文件。

keystorePass

 指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。

sslProtocol

 指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。

ciphers

指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码

ps:用keytool生成证书时,名字与姓氏应该是域名。 

此时,使用 https://localhost:8443即可访问tomcat首页。

扩展:

1.将protocol="HTTP/1.1"替换为protocol="org.apache.coyote.http11.Http11Protocol"

2.可将端口改为443,此时访问https://localhost即可。

参考资料:

http://tomcat.apache.org/tomcat-8.0-doc/index.html

http://ln-ydc.iteye.com/blog/1330674

猜你喜欢

转载自blog.csdn.net/LJX_ahut/article/details/82153895
今日推荐