MacOs 为Tomcat配置https

265 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

前言

Hello!

非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~  

自我介绍 ଘ(੭ˊᵕˋ)੭

昵称:海轰

标签:程序猿|C++选手|学生

简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。

学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!  

唯有努力💪  

知其然 知其所以然!

本文只记录感兴趣的部分

问题

配置tomcat,使得支持https访问

方法

步骤1

新建一个文件夹,名为"tomcatkey"(任意位置都可以)

在这里插入图片描述

步骤2

打开终端,运行

keytool -genkey -alias tomcat -keyalg RSA -keystore /*****/tomcatkey/mykeystore

# tomcatkey的地址 + /mykeystore

口令:自己定义就好了

名字与姓氏那里填:localhost

其它随意 在这里插入图片描述

运行成功后,可以在tomcatkey文件夹里面发现一个mykeystore文件

在这里插入图片描述

步骤3

sudo keytool -import -trustcacerts -alias tomcat -keystore "/Library/Java/JavaVirtualMachines/jdk1.8.xxxx.jdk/Contents/Home/jre/lib/security/cacerts" -file /****/tomcatkey/mycerts.cer

jdk1.8.xxxx.jdk:这里填写你的jdk版本

/****/tomcatkey: tomcatkey的绝对路径

运行成功后

运行成功后,可以在tomcatkey文件夹里面发现一个mycerts.cer文件 在这里插入图片描述 若报错:java.lang.Exception: 证书未导入, 别名 <tomcat> 已经存在,将tomcat修改为tomcat1或其它就行了

成功界面: 在这里插入图片描述 注意:这里输入的密钥库口令是changeit(易错) 在这里插入图片描述

步骤4

进入tomcat的安装目录

找到conf文件夹,进入 在这里插入图片描述 找到server.xml文件

在这里插入图片描述

打开该文件,找到port="8443"

在这里插入图片描述

这一段开始进入的时候是已经注释掉的

我们只需要打开注释,修改一下即可

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="*****/tomcatkey/mykeystore" keystorePass="***">
    </Connector>

protocol="org.apache.coyote.http11.Http11NioProtocol" 这里不修改,保持原样

keystoreFile填写mykeystore的文件绝对路径

keystorePass填写开始的时候设置的密码

步骤5

重启tomcat(需要重启一下)

浏览器输入 https://localhost:8443

以下是谷歌浏览器

在这里插入图片描述 在这里插入图片描述 换Safari浏览器

也会出现同样的页面

这里可以点击左下方的详情(好像是),然后选择继续访问该网址

信任该网站

就可以访问了

在这里插入图片描述

踩坑

修改了serve.xml文件后

关闭tomcat会报错

严重: Parse Fatal Error at line 88 column 81: 元素类型 "Connector" 必须后跟属性规范 ">""/>"

在这里插入图片描述

这里的原因:xml文件中空格的原因,开始复制的时候,引入了多余的空格 这里需要注意检查一下

在这里插入图片描述

结语

学习资料:http://zh.d2l.ai/

文章仅作为个人学习笔记记录,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

在这里插入图片描述

参考