转载

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

原文  https://segmentfault.com/a/1190000020433186
正文到此结束
Loading...