Nginx官方nginx-quic搭建

参考资料:

尝鲜 部署 Nginx Quic_qingchuwudi的专栏-CSDN博客_nginx quic文章目录一、介绍二、操作说明2.1、boringssl2.2、Nginx使用参考资料及附录一、介绍尝鲜 Nginx Quic 版本。二、操作说明1、下载 boringssl2、下载 Nginx 并编译安装2.1、boringsslBoringSSL 是由谷歌开发,从 OpenSSL 中分离的一个分支。## 创建目录$ mkdir ~/NginxWithQuic$ cd ~/NginxWithQuic## 下载代码$ git clone https://github.com/gohttps://blog.csdn.net/qingchuwudi/article/details/107129122

编译Nginx使博客支持QUIC-HTTP/3 | 无二自留地https://111111.online/posts/nginx_http3.htmllinux下生成https的crt和key证书 - ㄓㄤㄑㄧㄤ - 博客园今天在配置kibana权限设置时,kibana要求使用https链接。 于是总结了一下linux下openssl生成 签名的步骤: x509证书一般会用到三类文,key,csr,crt Key 是私用https://www.cnblogs.com/azhqiang/p/8177443.html环境:Ubuntu 18.04

简介

        随着技术的发展,QUIC,HTTP3渐渐向我们走来。本文算是笔者的一个记录贴,因为实验的需要,需要实现基于QUIC的直播或者点播,因为对QUIC和HTTP3的不熟悉,所以开贴一点一点记录相关技术的实现。

QUIC

TBD

HTTP3

 TBD

部署

本文通过部署Nginx官方的QUIC分支来实现的浏览器和nginx-quic服务器粗略的HTTP3通信。

1、下载BoringSSL 

BoringSSL 是由谷歌开发,从 OpenSSL 中分离的一个分支。BoringSSL 是 Chrome/Chromium、Android(但它不是 NDK 的一部分)和许多其他应用程序/程序中的 SSL 库。

由于nginx quic版本使用了新的tls1.3协议,需要openssl支持quic,但目前的openssl版本没有对应的支持,所以这里使用google的boringssl。

## 创建目录
$ mkdir NginxWithQuic
$ cd NginxWithQuic

## 下载代码
$ git clone https://github.com/google/boringssl.git

## 编译代码
$ cd boringssl
$ mkdir build
$ cd build
$ cmake ..
$ make

2、下载Nginx的QUIC版

#在NginxWithQuic的目录下

## 下载代码
$ hg clone -b quic https://hg.nginx.org/nginx-quic
##或直接去官网下载
##地址:http://hg.nginx.org/nginx-quic
$ cd nginx-quic
## 配置
## 可以对服务器配置额外的模块,详情见nginx-quic目录下的README文件
$ ./auto/configure --with-debug --with-http_v3_module \
      --with-cc-opt="-I../boringssl/include" \
      --with-ld-opt="-L../boringssl/build/ssl \
      -L../boringssl/build/crypto"
$ make
## make install是为了把文件打入指定路径,非必须执行
$ make install

3、对编译好的nginx进行配置,启动

进入/usr/local/nginx/conf/目录对nginx.conf进行配置、启动服务

服务器配置nginx.conf:

events {
    worker_connections  1024;
}
 http {
        log_format quic '$remote_addr - $remote_user [$time_local] '
                        '"$request" $status $body_bytes_sent '
                        '"$http_referer" "$http_user_agent" "$quic"';

        access_log logs/access.log quic;

        server {
            # for better compatibility it's recommended
            # to use the same port for quic and https
            listen 8443 http3 reuseport;
            listen 8443 ssl;

            ssl_certificate     server.crt;
            ssl_certificate_key server.key;
            ssl_protocols       TLSv1.3;

            location / {
                # required for browsers to direct them into quic port
                add_header Alt-Svc 'h3=":8443"; ma=86400';
            }
        }
    }

生成密钥:

linux下生成https的crt和key证书 - ㄓㄤㄑㄧㄤ - 博客园,将生成的密钥server.crt和server.key放在/usr/local/nginx/conf/目录下

启动服务:

cd /usr/local/nginx/sbin/
##运行配置好的服务器
./nginx

4、访问服务器

使用火狐对服务器进行访问

首先在火狐地址栏输入:about:config

然后查找network.http.http3.enabled,把false改为true,重启浏览器

在浏览器输入127.0.0.1:8443,进入,抓包,即可发现是HTTP3的请求包

(ps 有时候会是http1.1,我怀疑是缓存导致的,重启浏览器好像就可以了)

 5、优化

TBD

6、nginx-quic-rtmp

TBD

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值