tomcat 配置 https环境

本文详细介绍了在Windows和Linux服务器上配置Tomcat使用HTTPS加密HTTP请求的方法,包括生成服务器证书、修改Tomcat配置文件以及导入客户端证书等步骤,确保服务的安全性和可靠性。

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

       最近项目要使用https对请求加密,因为web服务使用的是tomcat,就整理了一下tomcat配置https环境的主要步骤:

 

1 打开cmd命令行,切换目录到jdk的bin目录下,执行以下命令

 

 

//使用jdk的加密工具,在目录e:\\intelStore_https路径下(确保此路径存在)生成server.keystore文件,服务端的证书,命令后半部分是证书的参数,

//keypass指定证书的密码,在此需要的是主意CN参数,指定服务所在机器的ip地址

keytool -keystore e:\\intelStore_https\\server.keystore -keypass 123456 -storepass 123456 -alias test1 -genkey -keyalg RSA -dname " CN=localhost" -validity 3650  

 

//根据服务端认证server.keystore生成客户端认证证书server.cer

keytool -export -alias test1 -file e:\\intelStore_https\\server.cer -storepass 123456 -keystore e:\\intelStore_https\\server.keystore  

 

//把客户端认证证书server.cer导入可信任库

keytool -import -file e:\\intelStore_https\\server.cer -storepass 123456 -keystore e:\\intelStore_https\\client.truststore -alias test1 -noprompt   

 

2 修改tomcat配置

  打开Tomcat 根目录下的 /conf/server.xml ,找到如下配置段,修改如下:

         <Connector port="8443"  

            protocol="HTTP/1.1" SSLEnabled="true"  

            maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  

            enableLookups="false" disableUploadTimeout="true"  

            acceptCount="100" scheme="https" secure="true"  

            clientAuth="false"   

            keystoreFile="E:/intelStore_https/server.keystore" keystorePass="123456"  

            sslProtocol="TLS" /> 

  keystoreFile指定服务器证书的路径

  keystorePass是服务端证书的密码,即第一个cmd命令指定的密码

 

   以上就是具体的配置,启动tomcat,访问https://localhost:8443时,页面上会提示此链接是一个不可信任的链接,在客户端导入上面配置生成的server.cer,设置成“受信任的证书”

  主意:在上面命令指定CN时,一定要主意你的url的ip和CN指定的一定要保持一致,不然即使导入server.cer,设置成“受信任证书”也会提示链接不受信任!

 

3 如果想强制访问你的服务的链接一定是https请求,可以在你项目的web.xml加入如下配置:

    <login-config>   

      

<!-- Authorization setting for SSL -->   

 

<auth-method>CLIENT-CERT</auth-method>   

 

<realm-name>Client Cert Users-only Area</realm-name>   

      

    </login-config>   

 

      

    <security-constraint>   

      

<!-- Authorization setting for SSL -->   

 

<web-resource-collection >   

 

<web-resource-name >SSL</web-resource-name>   

 

<url-pattern>/*</url-pattern>   

 

</web-resource-collection>   

 

<user-data-constraint>   

 

<transport-guarantee>CONFIDENTIAL</transport-guarantee>   

 

</user-data-constraint>   

      

    </security-constraint>   

 

 ========================================================================================================================

以上是windows服务器下的配置,下面是linux服务器上的配置:

1

[root@centos apache-tomcat-6.0.37]# keytool -genkey -alias tomcat -keyalg RSA -keystore /root/tomcat/apache-tomcat-6.0.37/conf/.keystore
输入keystore密码:  
再次输入新密码: 
您的名字与姓氏是什么?
  [Unknown]:  free4lab
您的组织单位名称是什么?
  [Unknown]:  free4lab
您的组织名称是什么?
  [Unknown]:  free4lab
您所在的城市或区域名称是什么?
  [Unknown]:  beijing
您所在的州或省份名称是什么?
  [Unknown]:  beijing
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=free4lab, OU=free4lab, O=free4lab, L=beijing, ST=beijing, C=CN 正确吗?
  [否]:  y

输入<tomcat>的主密码
    (如果和 keystore 密码相同,按回车):  

 

 

2

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" keystoreFile="/root/tomcat/apache-tomcat-6.0.37/conf/.keystore" keystorePass="yourpassword"  sslProtocol="TLS" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值