nginx(七十八)nginx配置http2

news/2024/12/22 11:12:28/

一  ngx_http_v2模块

1、本文不讲解'HTTP2'的知识2、只讲解nginx中如何'配置'HTTP2

①  前置条件

1、openssl的版本必须在'1.0.2e+'及以上2、开启'https加密',目前http2.0只支持'开启了https'的网站编译选项:--with-http_ssl_module  --with-http_v2_module  特点:因为HTTP2.0采用HTTPS,HTTPS基于'SSL/TLS'的3、nginx版本必须在'1.9.5+'以上,用 http_v2_module 模块'替换'了 ngx_http_spdy_module

http2.0支持的加密套件 

HTTP/2协议'使用TLS 1.2+'版本作为'安全'加密层

②  http2

注意: nginx'1.25.1'才支持'http2'独立配置,此时'不是'端口级别

③  listen的http2参数

1、listen的'http2参数'是'端口'级别2、常见'案例'listen 80 http2;      --> 该端口'只支持http2','不向下'兼容listen 443 ssl http2  --> 该listen 也'兼容http1.1',注意'ssl'和'http2'的顺序3、nginx '1.25.1'之'前'的版本'只能'通过listen配置'http2'参数,'端口'级别

http2参数端口级别    nginx 不能按照虚拟主机来启用HTTP2:报错

④  $http2

如何在nginx中获取http2的header

⑤  为什么浏览器知道需要使用 h2 协议来请求呢

⑥  nginx如何配置http2

说明: 省略'编译'过程./configure  --with-http_v2_module  --with-http_ssl_module 注意: 最好'保留'原来'nginx -V'的编译参数nginx -V  --> 可以确定'版本'和安装了'某个'模块

nginx编译安装http2 

1、nginx'配置'补充: add_header X-Protocol '$http2 $ssl_cipher $ssl_protocol';

  

2、'报文'分析

HTTP2中的HTTP语义 

⑦  补充

1、nginx作为'反向代理'不支持http22、nginx作为服务端如果'不支持http2',协议降级为'http1.1'3、http2'会'让响应头'小写'4、HTTP/2 请求的客户端应该使用 ':authority'伪字段而'不是Host字段'​5、关注curl和浏览器'版本'对'http2'的支持

HTTP/2约束Header大小写    浏览器看是否支持http2

ngx.header.content_length = nil

RFC文档http2参考  nginx如何支持HTTP/2协议

proxy_ssl_server_name on 最'关键'的也就是把主机名字传递给后端服务器,让对方服务器在'TLS握手'层面就可以收到host,便于打到具体的主机

http://www.ppmy.cn/news/1061182.html

相关文章

【Linux】动态库和静态库

动态库和静态库 软链接硬链接硬链接要注意 自定义实现一个静态库(.a)解决、使用方法静态库的内部加载过程 自定义实现一个动态库(.so)动态库加载过程 静态库和动态库的特点 软链接 命令:ln -s 源文件名 目标文件名 软链接是独立连接文件的,他…

debian12网络静态ip配置-OSSIM 安全漏洞扫描系统平台

本配置适合于服务器上的静态ip配置,该方法简单可靠。 1 临时配置 ifconfig eth0 192.168.1.97 netmask 255.255.255.0 broadcast 192.168.1.255 ip route add default via 192.168.1.1 2 主要的网络配置文件 /etc/network/interfaces /etc/resolv.conf 3 配置…

最大内积搜索(MIPS) 使用python 举例 三种AIGC生成对比

以下是一个使用Python实现MIPS问题的例子: 百度生成 import numpy as npdef MIPS(q, S, epsilon):d len(q)scores np.dot(S, q) # 计算S中每个向量与q的内积idx np.argsort(-scores) # 按照内积从大到小排序if np.dot(q, S[idx[0]]) > epsilon * np.linalg.…

优化物料编码规则,提升物料管理效率

导 读 ( 文/ 2358 ) 物料是生产过程的必需品。对物料进行身份的唯一标识,可以更好的管理物料库存、库位,更方便的对物料进行追溯。通过编码规则的设计,可以对物料按照不同的属性、类别或特征进行分类,从而更好地进行库存分析、计划…

百度Apollo:自动驾驶技术的未来应用之路

文章目录 前言一、城市交通二、出行体验三、环境保护四、未来前景总结 前言 随着科技的不断进步,自动驾驶技术正逐渐成为现实,颠覆着我们的出行方式。作为中国领先的自动驾驶平台,百度Apollo以其卓越的技术和开放的合作精神,正在…

配置setting.json解决vscode和vim按键冲突

vim 对于需要经常使用的vscode中的复制,粘贴,剪切,全选,查找和新建等,在vim正常模式下是不可用的,不过可以在配置文件中取消vim.handleKeys键位映射, 即保留这些原始按键功能。对于上述可能存在和正常按键…

FFmpeg<第一篇>:环境配置

1、官网地址 http://ffmpeg.org/download.html2、linux下载ffmpeg 下载: wget https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2解压: tar xvf ffmpeg-snapshot.tar.bz23、FFmpeg ./configure编译参数汇总 解压 ffmpeg-snapshot.tar.bz2 之后&…

C++笔记之智能指针和单例、依赖注入结合使用

C笔记之智能指针和单例、依赖注入结合使用 code review! 文章目录 C笔记之智能指针和单例、依赖注入结合使用例1.一个类不使用单例,另一个类使用单例例2.两个类都使用单例,并且通过getInstance()传入类的实例例3.std::make_unique不能访问私有的构造函…