tomcat配置成https访问(强制https)

命令行执行%JAVA_HOME%\bin\keytool -genkey -aliastomcat -keyalg RSA

执行过程中会询问你一些信息,比如国家代码,省市等,其中需要填写两个密码,一次在开头,一次在最后,请保持两个密码相同。比如,我将密码都设成aas@123456。

如果不同,启动会报错,大概是下面这样的

java.io.IOException:Cannot recover key

执行完成后会生成一个.keystore文件,将它复制到tomcatbin目录下(并不一定,放哪里都可以,我放在bin目录下)

打开conf目录下的server.xml文件,找到以下这一段它被注释掉了,将注释去掉,并将这一段改成以下

maxThreads="150"scheme="https" secure="true"

       clientAuth="false"sslProtocol="TLS"

      keystoreFile="bin/.keystore"keystorePass="aas@123456"//前面设置的密码

          truststoreFile="bin/.keystore"truststorePass="aas@123456"//前面设置的密码
之后启动tomcat就可以了,通过https方式访问8080端口,就能看到效果。如果用http访问之前的端口,那么还是普通的未加密连接。

到这里问题来了,我的目的是启用https,但现在http还能访问,那么就可以绕开https。https也就起不了什么作用了。因此要强制访问https

强制https访问配置如下:
在 tomcat /conf/web.xml 中的 </welcome-file-list> 后面加上以下内容

<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的访问地址也会自动转换为https了。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置Tomcat 10以支持HTTPS,需要执行以下步骤: 1. 生自签名证书或购买SSL证书:要启用HTTPS,您需要一个有效的证书。您可以自己生自签名证书,或者购买来自受信任的证书颁发机构(CA)的SSL证书。 2. 配置Tomcat的server.xml文件:打开Tomcat的conf目录下的server.xml文件,并找到以下行: ``` <!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="path/to/your/keystore/file" keystorePass="your_keystore_password" clientAuth="false" sslProtocol="TLS" /> ``` 确保将 `keystoreFile` 的值设置为您的证书文件的路径,将 `keystorePass` 的值设置为您的证书密码。 3. 配置Tomcat的web.xml文件:找到您要启用HTTPS的应用程序的web.xml文件,并将以下代码添加到 `<web-app>` 标签内: ``` <security-constraint> <web-resource-collection> <web-resource-name>Secure pages</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> ``` 这个配置强制所有URL使用HTTPS。 4. 启动Tomcat并测试:启动Tomcat服务器,并使用HTTPS访问您的应用程序,URL应该以https://开头。 请确保按照适用于您的操作系统和Tomcat版本的具体步骤进行配置。如果您使用的是不同的版本或发行版,请查阅相关的官方文档以获取更详细的指导。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值