ToB企服应用市场:ToB评测及商务社交产业平台

标题: [完整] SpringBoot开启Http2 [打印本页]

作者: 羊蹓狼    时间: 2023-9-8 15:46
标题: [完整] SpringBoot开启Http2
1. 什么是Http2.0

HTTP/2.0,通常简称为HTTP/2,是一种用于传输超文本(例如网页和资源文件)的网络协议。它是HTTP/1.1的继任者,旨在提高性能和效率,以适应现代Web应用的需求。HTTP/2的主要特点包括以下几点:
2. 代码实战

2.1 生成证书

java内置keytool可以生成自签名证书,使用keytool之前需要确保你配置了JAVA_HOME或者你在keytool目录下运行该命令,并输入两次密码。
  1. keytool -genkey -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -dname "CN=li, OU=zelin, O=zelin, L=bj, ST=bj, C=CN"
复制代码
运行该命令后会在当前路径生成一个keystore.p12证书文件,将该文件放进SpringBoot项目中的resources目录下。
2.2 配置项目

在application.properties中配置以下选项。
  1. # 配置http2
  2. server.ssl.key-store=classpath:keystore.p12
  3. server.ssl.key-password=替换成你输入的密码
  4. server.ssl.key-store-password=替换成你输入的密码
  5. server.http2.enabled=true
复制代码
3. 验证是否使用HTTP2

打开浏览器的F12开发控制台,
查看请求标头是否使用HTTP2
4. 扩展

由于项目使用HTTP2,默认只能使用HTTPS进行访问,所以需要配置HTTP的流量转发到HTTPS的端口。
建议使用NGINX进行配置,不要在项目进行硬性配置。以下是一个NGINX的配置示例
  1. server {
  2.     listen 80;
  3.     server_name your_domain.com;
  4.     # 重定向所有HTTP请求到HTTPS
  5.     return 301 https://$host$request_uri;
  6. }
  7. server {
  8.     listen 443 ssl;
  9.     server_name your_domain.com;
  10.     # 指定SSL证书和密钥文件的路径
  11.     ssl_certificate /path/to/your_ssl_certificate.crt;
  12.     ssl_certificate_key /path/to/your_ssl_certificate_key.key;
  13.     # 添加其他SSL配置选项,如SSL协议版本和密码套件
  14.     # 在这里配置您的HTTPS服务器块
  15.     # 例如:
  16.     location / {
  17.         # 配置您的应用程序或代理设置
  18.     }
  19. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4