网站百度排名优化/免费建自己的网站
文章目录
- 一、准备:
- 二、windows系统上配置--JDK工具
- 三、Linux系统上配置--JDK工具
- 四、Linux系统上配置--OpenSSL工具
一、准备:
1、Tomcat版本要求:Tomcat8.5 就是支持Http2协议的规范的,现在Tomcat新版本是9。
2、前置知识:要支持Https(简单理解就是 Http + SSL/TLS),需要去生成证书才可以。证书生成工具有很多,有商用的有开源免费的,免费的比如有OpenSSL
和JDK自带的工具
等。以下我演示用JDK自带
工具和OpenSSL工具生成证书。推荐:使用OpenSSL生成免费证书
。
为了实现 SSL,就要生成证书。此证书由其所有者在密码上签名,因此其他人很难伪造。证书无需警告即可在访问者浏览器中工作,需要由受信任的第三方签名。这些称为证书机构(CAS)
。要获得签名证书,您需要选择 CA 并按照您选择的 CA 提供的说明获取证书。提供一系列 CA,包括一些免费提供证书的 CA。
Java 提供了一个相对简单的命令行工具,称为"自签名"证书。自签名证书只是用户生成的证书,尚未由知名 CA 签署,因此根本不保证真实。虽然自签名证书可用于某些测试方案,但它们并不适合任何形式的生产用途。keytool
.
其他知识我就不在这儿多说。下面开始在 windows 上和 Linux 双系统上搭建支持Https 和 Http2。
Tomcat 官方文档:https://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html
3、准备:
(1)Java环境;
(2)下载Tocmat执行包(带有bin、lib、conf目录);
(3)假如你要使用OpenSSL生成证书的话,就去官方下载并上传到Linux上。
OpenSSL官网下载:https://www.openssl.org/source/
注意:以下配置只适合学习使用!
二、windows系统上配置–JDK工具
1、再Tocmat根目录下的 conf 文件夹下创建一个名为 key 的文件夹;
2、win + R --> cmd,直接执行JDK工具生成证书,命令如下,您复制对文件路径做适当的修改;
keytool -genkey -v -alias tomcat -keyalg RSA -keystore E:\wh-server-806\wh-server\conf\key\wh-server.keystore -validity 36500
其中:E:\wh-server-806\wh-server\conf\key\wh-server.keystore 为tomcat根目录下的conf下的key的路径
wh-server.keystore是一会生成证书的存放文件,您可以修改文件名,后缀不能变。
36500:指的是证书有效期限,默认是90天。单位:天
设置密码不得少于6位
3、配置 tomcat 的 conf/server.xml文件;
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"connectionTimeout="20000"SSLEnabled="true"scheme="https"secure="true"clinetAuth="false"sslProtocol="TLS"keystoreFile="E:\wh-server-806\wh-server\conf\key\wh-server.keystore"keystorePass="xxx"redirectPort="8443" xpoweredBy="false" ><!-- 此行是配置Http2 --><UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" xpoweredBy="false"/></Connector>
port:端口可以随意修改;keystoreFile:证书所在路径; keystorePass:xxx为您刚刚设置证书的密码
注意:证书密码不对,connetor组件是启动不起来的,就会导致访问不了。就会这样:
4、配置正确后,保存。访问:https://localhost:8080/
要是提示不安全连接,那就点击页面中的高级,然后点击不安全连接即可。
以上Https得以体现,那么Http2在哪里查看呢?
5、查看Http2协议
进入logs 日志文件查看当天的访问日志文件,即可看到Http2的日志
windows 配置完毕!
三、Linux系统上配置–JDK工具
1、将 Tomcat 执行包上传到 Liunx上,进入cnof 。创建 key
文件夹;
cd conf
mkdir key
2、任意路径下,直接执行JDK工具生成证书,命令如下,您复制对文件路径做适当的修改;
keytool -genkey -v -alias tomcat -keyalg RSA -keystore /cust/wh-server/conf/key/wh-server.keystore -validity 36500
/cust/wh-server/conf/key : 为tomcat根目录下的conf下的key的路径
wh-server.keystore:是一会生成证书的存放文件,您可以修改文件名,后缀不能变。
36500:指的是证书有效期限,默认是90天。单位:天
设置密码不得少于6位
3、配置 tomcat 的 conf/server.xml文件;
vim server.xml 进入配置文件,粘贴配置
ESC --> :q!
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"connectionTimeout="20000"SSLEnabled="true"scheme="https"secure="true"clinetAuth="false"sslProtocol="TLS"keystoreFile="/cust/wh-server/conf/key/wh-server.keystore"keystorePass="xxx"redirectPort="8443" xpoweredBy="false" ><UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" xpoweredBy="false" server="Apache TomEE" /></Connector>
port:端口可以随意修改;keystoreFile:证书所在路径; keystorePass:xxx为您刚刚设置证书的密码
注意:证书密码不对,connetor组件是启动不起来的,就会导致访问不了。
4、配置正确后,保存。访问:https://ipname:8080/
要是提示不安全连接,那就点击页面中的高级,然后点击不安全连接即可。
以上Https得以体现,那么Http2在哪里查看呢?
5、查看Http2协议
cd logs
tail -n 10 localhost_access_log.2021-04-25.txt 查看当日的访问日志文件
Linux 配置完毕!
四、Linux系统上配置–OpenSSL工具
1、前期工作:去文章开头找到OpenSSL官网地址,然后下载OpenSSL包并上传到Liunx服务器上,如下:
OpenSSL官网下载:https://www.openssl.org/source/
2、解压OpenSSL;
tar -zxvf openssl-3.0.0-alpha14.tar.gz
3、进入OpenSSL;
cd openssl-3.0.0-alpha14
以下使用OpenSSL工具的五个命令
创建证书:
4、使用OpenSSL工具生成一个RSA私钥;命令一:
openssl genrsa -des3 -out server.key 2048
这个生成私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。需要提供一个至少4位,最多1023位的密码;
-out + 私钥存放文件 :一会生成的私钥就会保存到 server.key文件中
5、生成CSR(证书签名请求);命令二:
openssl req -new -key server.key -out server.csr
-out :保存到 server.csr文件中
这一步要输入国家、地区、城市、组织、组织单位,其中Common Name和Email。其中Common Name,可以写自己的名字或者域名,这里要支持https协议,如果你有域名,那么Common Name应该与域名保持一致,否则会引起浏览器警告。没有域名就随便了。
6、删除私钥中的密码;命令三:
openssl rsa -in server.key -out server.key
删除原因:如果不删除密码,在应用加载的时会出现输入密码以进行验证。
7、生成自签名证书;命令四:
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
-days:后面是该证书有效期限,单位:天
8、生成公钥,格式为pem格式;命令五:
openssl x509 -in server.crt -out server.pem -outform PEM
9、查看当前目录下生成的四个文件:
10、在Tomcat 根目录下的conf目录下新建一个名为 key 的文件夹,用于存放生成的这四个文件;
mkdir key
11、将上面四个文件复制到key文件夹中
12、打开Tmocat的主配置文件,配置conf/server.xml文件,将以下这一段代码复制进入:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" ><!-- 此配置是配置HTTP2 --><UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /><SSLHostConfig><Certificate certificateKeyFile="conf/key/server.key"certificateFile="conf/key/server.crt" type="RSA" /></SSLHostConfig>
</Connector>
我由于8443没有开防火墙,我就设置8080端口了。
13、保存并退出,启动 Tomcat; 访问:https://ipname:8080/
可以看到此时是Https协议
访问了。
以上Https得以体现,那么Http2在哪里查看呢?
14、查看Http2协议
cd logs
tail -n 10 localhost_access_log.2021-04-27.txt 查看当日的访问日志文件
OpenSSL工具配置证书,结束,感谢阅读。
有用点个关注,手留余香! 😗 😗 😗