tomcat9(https)与IDEA的配置

一.  创建tomcat证书

这里使用JDK自带的keytool工具来生成证书:

1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe

2. 在命令行中输入以下命令:

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

以上命令将生产一对非对称密钥和自我签名的证书g:\tomcat.keystore

注意:“名字与姓氏”应该是域名,输成了姓名,和真正运行的时候域名不符,会出问题

这里我输入的密码是123456,  域名是以tomcat为例,  省市以广东深圳为例

 keytool工具介绍

-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书

-alias       产生别名

-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中)

-keyalg      指定密钥的算法 (如 RSA  DSA(如果不指定默认采用DSA))

-validity    指定创建的证书有效期多少天

-keysize     指定密钥长度

-storepass   指定密钥库的密码(获取keystore信息所需的密码)

-keypass     指定别名条目的密码(私钥的密码)

-dname       指定证书拥有者信息

-list        显示密钥库中的证书信息      keytool -list -v -keystore 指定keystore -storepass 密码

-export      将别名指定的证书导出到文件

-file        参数指定导出到文件的文件名

-delete      删除密钥库中某条目 

-printcert   查看导出的证书信息  

-keypasswd   修改密钥库中指定条目口令

-storepasswd  修改keystore口令 

-import          将已签名数字证书导入密钥库

-certreq            生成证书请求

 -changealias        更改条目的别名

 -delete             删除条目

 -exportcert         导出证书

 -genkeypair         生成密钥对

 -genseckey          生成密钥

 -gencert            根据证书请求生成证书

 -importcert         导入证书或证书链

 -importpass         导入口令

 -importkeystore     从其他密钥库导入一个或所有条目

 -keypasswd          更改条目的密钥口令

 -list               列出密钥库中的条目

 -printcert          打印证书内容

 -printcertreq       打印证书请求的内容

 -printcrl           打印 CRL 文件的内容

 -storepasswd        更改密钥库的存储口令

keytool -importkeystore [OPTION]...

从其他密钥库导入一个或所有条目

-srckeystore             源密钥库名称

 -destkeystore           目标密钥库名称

 -srcstoretype           源密钥库类型

 -deststoretype          目标密钥库类型

 -srcstorepass                源密钥库口令

 -deststorepass               目标密钥库口令

 -srcprotected                  受保护的源密钥库口令

 -srcprovidername     源密钥库提供方名称

 -destprovidername   目标密钥库提供方名称

 -srcalias                   源别名

 -destalias                 目标别名

 -srckeypass                      源密钥口令

 -destkeypass                     目标密钥口令

 -noprompt                         不提示

 -providerclass         提供方类名

 -providerarg                     提供方参数

 -providerpath               提供方类路径

 -v            显示密钥库中的证书详细信息

二. 配置tomcat服务器

 定位到tomcat服务器的安装目录, 找到conf下的server.xml文件

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

去掉注释,修改为:

<Connector port="8443"  protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
        keystoreFile="/home/weblogic12/apache-tomcat-cnooc/ssh/tomcat.keystore"
        keystorePass="changeit" />

三. 启动tomcat服务器

在浏览器中输入: https://localhost

修改web.xml文件

Http自动跳转Https

①编辑conf/web.xml文件

②在web.xml末尾加上如下配置,直接在节点下和同级:

<!--开启http强制跳转https访问-->
      <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>

修改sever.xml文件

修改非SSL连接器的请求跳转到SSL连接器上,修改如下配置:

原来为:
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
修改为:
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />

1、将默认8080端口修改为80端口,访问时就不需要加8080端口了,因为HTTP协议默认走的是80端口

2、将8443端口修改为443端口,意思是来自80端口的请求都跳转至443端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值