乐趣区

linux下-配置tomcat使用https-附-申请证书过程

本文主要功能

** 完成在 linux 上 给 tomcat 进行配置 使项目可以使用 https 访问
https 与 http 相比,进行访问会安全许多, 同时,在一些平台下开发需要使用 https 的前缀作为接口链接,所以本文具有一定记录的价值。**

  1. 申请 SSL 证书

    大部分教程使用的是,使用 jdk 自带的命令进行设置,经过实验,可以成功使用 https 访问,但是,大部分浏览器下(作者使用谷歌浏览器)会出现提示不安全的问题。如果你是个稍有强迫症,完美主义,或者对出现不安全字样反感的人,就可以跟随下面的步骤进行设置了。
    这里推荐使用 阿里云提供的免费证书 申请渠道进行申请,传送门 申请链接
    进入后,选择 免费版 按照步骤进行申请即可
    因为本文作者先前已经申请过一个证书, 难度不大,如有需要,查找相关帖子进行申请即可。年过许久,记不清是否需要先申请域名, 如果需要先购买域名的话,需要对购买的域名先进行备案,备案完毕后进行申请即可。 一个阿里云帐号可以申请 25 个免费的 SSL 证书,单个有效期一年

  2. 申请完毕 SSL 证书后,进行的相关操作
    申请到的 SSL,最主要的是要它提供的 证书 + 密码,申请成功后,下载对应服务器的文件即可。下载完毕后,将带.pfx 后缀的文件,上传至服务器。下载里的文件,另一个是一 txt 为后缀的文件,里面记录的是密码。
  3. 对 Linux 的 Tomcat 进行相关配置
    首先
    进入到 tomcat 的 conf 文件夹,编辑 server.xml 文件
    习惯性使然,将其没注释的 <Connector port=”8080″… 开头的 8080 端口改成 80 端口,对应那一块末尾的 8443 改为 443
    [解释: 80 为默认端口 可以使用 http://….,即可直接访问项目,无需带之前的 8080]
    其次
    增加下方配置

       <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
       maxThreads="150" scheme="https" secure="true"
       keystoreFile="/usr/local/key/tomcatKey/xxx.pfx" keystorePass="xxx"
       clientAuth="false" sslProtocol="TLS"/>

    上述配置 可以复制过去使用 , 需要 注意 的是
    keystoreFile 为 SSL 证书放的文件地址 例中放的位置是 /usr/local/key/tomcatKey/ 下
    keystorePass 里填写为 下载文件中 txt 的字符串 即 密码
    xxx 对应填写即可



** 经过以上设置,重新启动 Tomcat,即可不带端口号(8080 等)用 http://xxxx 访问项目,也可以使用 https://xxxx 访问项目。但是,如果我们不打全 以 xxxx(ip 地址或者域名)直接访问的时候,他默认使用的是 http 协议的链接,这就很不舒服,所以下面,进行最后一步,** 让 http 链接,自动跳转到 https!**



http 自动跳转 https 设置

同样的,进入 Tomcat 文件夹下的 conf 编辑 web.xml 文件
在其最后增加这段即可

<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>

重启 Tomcat, 大功告成!


总结:

  1. 想要配置 https,首先需要配置 jdk 以及 tomcat,因为 tomcat 运行基于 jdk 上。在 windows 中,印象里,超过 tomcat6 的均可以无需配置 jdk 进行使用。然而,在 linux 上好像不是这样子,作者使用 tomcat 最新 9.0.24 进行测试,仍然需要安装部署 jdk。所以,需要先配置好 jdk+tomcat,作者有一篇文章有讲到,感兴趣可以前往实验。
  2. 配置完毕 jdk+tomcat 后,需要进行的是 申请 SSL 证书和对 Tomcat 的配置文件进行修改。即本文内容。中间有一步,不清楚阿里云申请证书是否需要域名,如若需要,需要先购买一个(自己动手动额话选便宜的即可,大概 10 元一年),然后进行备案即可。之后申请证书,将证书下载导入到 linux 里。对 tomcat 的 server.xml 更改端口号配置 以及 开启 https 的设置
  3. 最后,对 tomcat 的 web.xml 文件进行配置,使输入 ip 或者域名的时候,能自动跳转到更安全的 https 链接。

本文结束。
记载于 2019 年 9 月 19 日 15:01:48

退出移动版