Tomcat 开启 HTTPS 协议

本文介绍怎样开启 Tomcat 的 HTTPS 协议。

HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)是以安全为目标的 HTTP 通道。在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在 HTTP 的基础下加入 SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP 与 TCP 之间)。

本文将介绍怎样在 Tomcat 下面配置开启 HTTPS 协议,提高安全性。

准备工作

JDK版本:javac 1.8.0_45

Tomcat版本:apache-tomcat-7.0.64

生成证书

下面将介绍怎样使用 keytool 工具生成证书。如下:

(1)JDK6及以下

C:UsersAdministratorDesktopcert> keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat.keystore
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  hxstrive
您的组织单位名称是什么?
  [Unknown]:  hxstrive
您的组织名称是什么?
  [Unknown]:  hxstrive
您所在的城市或区域名称是什么?
  [Unknown]:  CD
您所在的省/市/自治区名称是什么?
  [Unknown]:  SC
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=hxstrive, OU=hxstrive, O=hxstrive, L=CD, ST=SC, C=CN是否正确?
  [否]:  Y

输入 <tomcat> 的密钥口令
        (如果和密钥库口令相同, 按回车):

(2)JDK1.7以上

C:UsersAdministratorDesktopcert> keytool -genkeypair -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat.keystore
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  hxstrive
您的组织单位名称是什么?
  [Unknown]:  hxstrive
您的组织名称是什么?
  [Unknown]:  hxstrive
您所在的城市或区域名称是什么?
  [Unknown]:  CD
您所在的省/市/自治区名称是什么?
  [Unknown]:  SC
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=hxstrive, OU=hxstrive, O=hxstrive, L=CD, ST=SC, C=CN是否正确?
  [否]:  Y

输入 <tomcat> 的密钥口令
        (如果和密钥库口令相同, 按回车):

配置Tomcat

打开 conf/server.xml 配置文件,添加如下配置:

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <!-- ... -->
  <Service name="Catalina">
    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="D:/apache-tomcat-7.0.64-2/conf/cert/tomcat.keystore"
               keystorePass="123456" />
    <!-- ... -->
  </Service>
</Server>

注意,使用 keystoreFile 指定密钥库文件,采用绝对路径。keystorePass 表示密钥库的密码。

验证

配置好 Tomcat 后,重启 Tomcat。使用浏览器访问 https://localhost:8443  验证,如果你能看见如下页面,则说明 HTTPS 开启成功。

Tomcat 开启 HTTPS 协议

我们一定不要当三等公民:等下班、等薪水、等退休。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号