tomcat配置https协议访问

记录一下tomcat配置https协议访问


网上看到好多关于tomcat配置https协议访问的相关文档,基本上都是通过java自带的工具实现的,但是后面的一些步骤好像都不太一样呢,这里就记录一下

总结了一下大致分为三个步骤

  1. 生成密钥库
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500

打开doc 窗口,直接执行上述命令,有一个前提是配置 JAVA_HOME 环境变量,没有配置的话就指定到 jdk/bin 目录下执行就可以了

-validity 36500 为有效时间天数

然后根据提示输入

输入密钥库口令:123456
再次输入口令:123456

您的名字和姓氏是什么?
输入:localhost                     (这里最好设置成访问的时候的域名) 

您的组织单位名称是什么?
输入:demo                             (这里不清楚和什么有关)

您的组织名称是什么?
输入:demo                              (这里不清楚和什么有关)

您所在的城市或区域名称是什么?
输入:nj

您所在的省/市/自治区名称是什么?
输入:js

该单位的双字母国家/地区代码是什么?
输入:cn

.........校验上面输入信息是否正确?
输入:y

输入<tomcat> 的密钥库口令
	(如果和密钥库口令相同,按回车)
建议回车即可
  1. 配置tomcat密钥库

打开tomcat目录conf中的 conf/server.xml
找到如下代码:


<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

替换成

	<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
                maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                clientAuth="false" sslProtocol="TLS" 
		keystoreFile="d:\tomcat.keystore"   
            	keystorePass="123456"/>

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
  1. 配置tomcat的https访问限制

打开tomcat目录conf中的 conf/web.xml (设置tomcat只能通过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>

第三步这里想说一下,就是如果还是想用http://localhost 去访问项目的,默认会跳转到hhttps://localhost ,但是这个跳转的端口是要配置的。

配置在 conf/server.xml ,就是修改下面这段代码的 redirectPort

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

其实很简单,就三步,就可以实现https访问项目。如果涉及到一些浏览器证书认证,配置的相关问题,可以自行再找找其他文档看看,其实就是生成一个 xxx.cer 文件,然后放到浏览器的根认证里面就可以了

其他的就不多说了,希望本文章可以快速帮助到您解决相应的问题即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值