tomcat 的 HTTPS配置实操

本文详细介绍了如何在Tomcat服务器上配置HTTPS,包括生成密钥对、导出证书、修改服务器和程序配置文件,以及将证书导入到客户端Java的cacerts证书库中。通过这些步骤,确保了安全的HTTPS连接,并提供了在不同服务器环境下的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 因为oracle jdk不支持以ip建立证书,所以只能虚拟一个域名cas.server.com

这个配置在/etc/hosts中

172.16.0.25   cas.server.com

如下图,是公司测试环境配置

2.进行liunx命令窗口(黑窗口)
输入如下命令:
keytool -genkeypair -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36500 -alias cas.server.com -keystore /home/tomcat-v2/tomcat.keystore -dname "CN=cas.server.com,OU=cas,O=cas,L=shenzhen,ST=sz,C=CN"

各参数含义:
-genkeypair 生成密钥
-keyalg 指定密钥算法,这时指定RSA,
-keysize 指定密钥长度,默认是1024位,这里指定2048,长一点,我让你破解不了(哈哈...),
-siglag 指定数字签名算法,这里指定为SHA1withRSA算法
-validity 指定证书有效期,这里指定36500天,也就是100年,我想我的应用用不到那么长时间
-alias 指定别名,这里是cas.server.com
-keystore 指定密钥库存储位置,这里存在/home/tomcat-v2/(tomcat的主目录下,即与conf目录在同一个目录下)

-dname 指定用户信息,不用一个一个回答它的问题了;
输入上述命令,下面密码我们输入 casking,然后一直回车,就在/home/tomcat-v2/生成了tomcat.keystore文件;

3.导出数字证书
在LIUNX命令窗口下输入如下命令:
keytool -exportcert -alias cas.server.com -keystore /home/tomcat-v2/tomcat.keystore -file home/tomcat-v2/tomcat.cer -rfc
导出数字证书,即根据刚才生成的tomcat.keystore文件生成一个tomcat.cer文件,在生成的过程中输入的密码也是casking

4.配置cas服务器tomcat

将tomcat中server.xml中的连接器配置改为:

如下图,为公司的测试环境的配置情况,参考

原来下面哪个是注销的,请去掉注销,同时输入新开通的外网端口。

同时将生成的tomcat.keystore复制到tomcat的主目录下,即与conf目录在同一个目录下;

5.将服务端的证书tomcat.cer导入到客户端java的cacerts证书库中
LIUNN命令窗口 cd到/usr/java/jdk1.7.0_03/jre/lib/security 因为我的JAVA_HOME= /usr/java/jdk1.7.0_03

(可以用命令查看:echo $JAVA_HOME)

之后运行如下命令:
keytool -import -alias cacerts -keystore cacerts -file /home/tomcat-v2/tomcat.cer -trustcacerts

输入cacerts证书库的密码 changeit,这个是它的默认密码; 这一步最主要的,一般情况下,没有把它说明白,其实这一步就是让cas客户端服务器去理解cas.server.com这台机器所发过来的经过加密的数据 (这个涉及到https数据对称加密交互,不多说了,因为说不明白);

6.各个程序包配置文件修改(chpm为例子)

由于我们程序比较,这里以CHPM为例,其它的都一样,只要找到它们的配置文件和包就可以。

(1)修改chpm的配置文件BIN目录下面的

/home/tomcat-v2/bin/configuration/chpmServer.propertie中

配置cas的地址,加上https,同时配置上面配置的安全端口(其它的都一样)

(2)修改程序包里面的配置文件(各个包去个修改)

CHPM为例,别的程序也在这个目录下面

/home/tomcat-v2/webapps/chpm/WEB-INF/classes/spring下面

里面的配置内容

<bean name="ticketValidationFilter"

class="org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter"

p:serverName="${APP_SERVER}"

p:localServerName="${LOCAL_APP_SERVER}"

p:redirectAfterValidation="true">

<property name="ticketValidator">

<bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">

<constructor-arg index="0" value="https://cas.server.com:58080/crhip-cas" />

</bean>

</property>

<property name="localTicketValidator">

<bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">

<constructor-arg index="0" value="https://cas.server.com:58080/crhip-cas" />

</bean>

</property>

</bean>

7.重启TOMCAT,访问各个 程序,测试各个功能是否正确

原来访问的地址不变

如果程序同cas 不在同一个服务器配置法子

(1)把172.16.0.25上面的tomcat.cer文件

复制到 192.168.50.48 ,记好目录

(2)进入到 cd  进入到 java 目录 一般是这里/usr/java/jdk1.7.0_03/jre/lib/security

(3)执行命令:keytool -import -alias serverpublickey -file /48的目录/tomcat.cer -keystore cacerts

    密码:changeit

 (4)重启TOCMAT (其它配置是配好的)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值