tomcat设置https,且http自动跳转为https访问

1. 基于jdk的keytool工具生成key
#/usr/local/tomcat/tomcat.keystore 证书存放位置; -validity 36500证书有效期,36500表示100年,默认值是90天
keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/tomcat.keystore -validity 36500


Enter keystore password:          #此处需要输入大于6个字符的字符串
Re-enter new password: 
What is your first and last name?    #“您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:pvbutler.blog.51cto.com 或者 10.15.24.254],就是你将来要在浏览器中输入的访问地址
  [Unknown]:  10.15.24.254
What is the name of your organizational unit?   #“你的组织单位名称是什么?”可以按照需要填写也可以不填写直接回车,实验中直接回车
  [Unknown]:  
What is the name of your organization?    #“您的组织名称是什么?”,同上直接回车
  [Unknown]:  
What is the name of your City or Locality?   #“您所在城市或区域名称是什么?,同上直接回车
  [Unknown]:  
What is the name of your State or Province?    #“您所在的州或者省份名称是什么?”
  [Unknown]:  
What is the two-letter country code for this unit?    #“该单位的两字母国家代码是什么?”
  [Unknown]:  
Is CN=10.15.24.254, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?      #系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息
  [no]:  y


Enter key password for <tomcat>   
(RETURN if same as keystore password):    #输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以
Re-enter new password: 
[root@localhost bin]#   #此时会在/usr/local/tomcat中生成文件tomcat.keystore




2. 修改配置tomcat服务器 server.xml
 <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
               uRIEncoding="UTF-8"
               />
将8443 改成443 ,因为https默认的端口是443,http默认的80


3. 释放以下,将8443改成443,保持对称
keystoreFile 和 keystorePass 添加上
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
  keystoreFile="D:/software/apache-tomcat-7.0.54/tomcat.keystore" keystorePass="Ab123456"
  />   


4. 重启tomcat 
http://ip 或者 https://ip  就都可以访问


5. 只运行 https,不允许http
web.xml 的 welcome-file-list 下面 中添加
<welcome-file-list>
        <welcome-file>/</welcome-file>
    </welcome-file-list>
<security-constraint>
        <web-resource-collection>
            <web-resource-name>sslwebsokect</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>


6.再次重启tomcat,访问http后会自动跳转到https
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将TomcatHTTP请求自动重定向到HTTPS协议,你需要采取以下步骤: 1. 在Tomcat的server.xml配置文件中添加一个新的Connector,并将其配置为使用80端口来监听HTTP请求。 2. 将默认的HTTP Connector(使用8080端口)禁用。 3. 配置新的Connector来支持SSL证书,并将其配置为使用443端口来监听HTTPS请求。 4. 在webapps目录下的WEB-INF/web.xml文件中添加一个重定向规则,将所有的HTTP请求自动重定向到HTTPS请求。 下面是一个示例配置,你可以根据自己的需求进行调整: <!-- 定义HTTP Connector,使用80端口 --> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> <!-- 定义HTTPS Connector,使用443端口,并配置SSL证书 --> <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="mykeystore.jks" keystorePass="mystorepassword"/> <!-- 禁用默认的HTTP Connector --> <!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <!-- 定义Web应用的重定向规则,将所有HTTP请求自动重定向到HTTPS --> <security-constraint> <web-resource-collection> <web-resource-name>Entire Application</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值