本文主要功能
**完成在linux上 给tomcat进行配置 使项目可以使用https访问
https与http相比,进行访问会安全许多,同时,在一些平台下开发需要使用https的前缀作为接口链接,所以本文具有一定记录的价值。**
- 申请SSL证书
大部分教程使用的是,使用jdk自带的命令进行设置,经过实验,可以成功使用https访问,但是,大部分浏览器下(作者使用谷歌浏览器)会出现提示不安全的问题。如果你是个稍有强迫症,完美主义,或者对出现不安全字样反感的人,就可以跟随下面的步骤进行设置了。
这里推荐使用阿里云提供的免费证书申请渠道进行申请,传送门 申请链接
进入后,选择 免费版按照步骤进行申请即可
因为本文作者先前已经申请过一个证书,难度不大,如有需要,查找相关帖子进行申请即可。年过许久,记不清是否需要先申请域名,如果需要先购买域名的话,需要对购买的域名先进行备案,备案完毕后进行申请即可。一个阿里云帐号可以申请25个免费的SSL证书,单个有效期一年 - 申请完毕SSL证书后,进行的相关操作
申请到的SSL,最主要的是要它提供的 证书+密码 ,申请成功后,下载对应服务器的文件即可。下载完毕后,将带.pfx后缀的文件,上传至服务器。下载里的文件,另一个是一txt为后缀的文件,里面记录的是密码。 对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,大功告成!
总结:
- 想要配置https,首先需要配置jdk以及tomcat,因为tomcat运行基于jdk上。在windows中,印象里,超过tomcat6的均可以无需配置jdk进行使用。然而,在linux上好像不是这样子,作者使用tomcat最新 9.0.24 进行测试,仍然需要安装部署jdk。所以,需要先配置好jdk+tomcat,作者有一篇文章有讲到,感兴趣可以前往实验。
- 配置完毕jdk+tomcat后,需要进行的是申请SSL证书和对Tomcat的配置文件进行修改。即本文内容。中间有一步,不清楚阿里云申请证书是否需要域名,如若需要,需要先购买一个(自己动手动额话选便宜的即可,大概10元一年),然后进行备案即可。之后申请证书,将证书下载导入到linux里。对tomcat的server.xml更改端口号配置 以及 开启https的设置
- 最后,对tomcat的web.xml文件进行配置,使输入ip或者域名的时候,能自动跳转到更安全的https链接。
本文结束。
记载于 2019年9月19日 15:01:48