美文网首页
Tomcat7 的 HTTPS 访问方式配置

Tomcat7 的 HTTPS 访问方式配置

作者: 码农梦醒 | 来源:发表于2016-08-04 11:41 被阅读1112次

一. 环境

  1. 下载 tomcat7
  2. 安装好 jdk

二. 正式配置

1. 使用jdk生成证书

打开终端执行命令:<JAVA_HOME>/bin/keytool.exe -genkey -alias tomcat -keyalg RSA -keystore E:\tomcat.keystore -validity 36500
命令说明:
      E:\tomcat.keystore : 指证书生成的位置
      validity 36500: 指证书的有效期100年(默认90天)[单位:天]
在命令行填写必要的参数:
A、输入keystore密码:此处需要输入大于6个字符的字符串
B、“您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你将来要在浏览器中输入的访问地址
C、“你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息
D、输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以

2. 将证书配置到jdk中,并启用https

配置Tomcat, 打开tomcat配置文件, 如:D:/apache-tomcat-6.0.29/conf/server.xml,修改如下(共需要修改3处地方)

原始配置:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

修改之后的配置:(这里的redirectPort与后台的相关端口要对应)
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />
原始配置:
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              clientAuth="false" sslProtocol="TLS"/>
 -->

去掉注释修改为:
<!-- keystoreFile:证书文件存放位置 -->
<!-- keystorePass:生成证书文件时,输入的tomcat密码 -->
<!--这个port的值应该对应上一步配置的redirectPort的值-->
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="E:/tomcat.keystore" keystorePass="123456789"/>
原始配置:
<!--
   <Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />
-->

<!-- 这个redirectPort的值,对应的是上一步配置的port的值 -->
去掉注释修改为:
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />

3. 强制tomcat使用https方式访问

打开<TOMCAT_HOME>/conf/web.xml文件,在文件末尾添加如下内容:

<login-config>
        <auth-method>CLIENT-CERT</auth-method>
        <realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
    <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>

最后

上述配置完成后,重启TOMCAT后即可以使用SSL。IE地址栏中可以直接输入地址 “http://” 会自动跳转成为 “https://”

通过IE访问:

Paste_Image.png Paste_Image.png

** 通过chrome访问:**

Paste_Image.png Paste_Image.png

p.s.

为什么会有证书的错误提示?
自己创建的证书,是没有经过证书机构认证的,在实际的应用中需要向证书机构购买证书

** 我想通过端口号访问怎么办? **
上例中配置的443端口,可以通过443访问,不过即使加了443,还是会转为80端口,如果想强制使用某端口,那就不要配置443(443在配置似乎中是个例外),比如配置为:8443,那么就必须使用8443访问了,最终url也不会跳回80端口,配置为8889,那么就必须使用8889访问了,最终url也不会跳回80端口。
这里一定要与http端口的配置区别开来哈,因为http端口只要配置一个地方就ok了

相关文章

  • Tomcat7 的 HTTPS 访问方式配置

    一. 环境 下载 tomcat7 安装好 jdk 二. 正式配置 1. 使用jdk生成证书 2. 将证书配置到jd...

  • tomcat7.0.61配置https(windows)

    因tomcat7以上开始支持pfx格式证书,所以本次https配置是根据pfx证书的方式配置。tomcat还支持J...

  • Tomcat7 配置 https

    一、独立tomcat 配置 1.阿里云免费ssl证书,xxx.pfx 文件,具体方法可以登录阿里云查看 2.在%t...

  • Https访问配置

    1. 生成服务器端私钥及密钥库: keytool -genkey -aliastestServer-validit...

  • 配置https访问

    0. 说明 使用 NetBeans 12.4 GlassFish Server 5.0 Java EE 8 另外,...

  • tomcat搭建https服务

    tomcat配置https协议详细步骤 1.在tomcat上搭建https服务。 环境:jdk7,tomcat7,...

  • Apache 配置 HTTPS访问

    将需要配置的项目移动到另一根目录下,作为https访问位置。 修改bitnami配置文件..\Bitnami\wa...

  • lighttpd配置https访问

    本文介绍了如何在lighttpd上配置https访问,使用Let's Encrypt获取免费SSL证书,以及自动更...

  • windows 的配置apache IIS

    1.涉及修改配置 通过https反向代理映射到http地址,可实现以https的方式,访问普通的http网站。 主...

  • nginx下配置https访问

    nginx下配置https访问

网友评论

      本文标题:Tomcat7 的 HTTPS 访问方式配置

      本文链接:https://www.haomeiwen.com/subject/iaycsttx.html