欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx+srs,使用http2.0解决浏览器同源限制问题

程序员文章站 2022-07-13 12:07:37
...

nginx+srs,使用http2.0解决浏览器同源限制问题

1. 浏览器同源限制

由于历史的原因,浏览器对同源HTTP/1.x连接的并发个数有限制,典型值是6,如chrome,由于项目的需求,需要在浏览器端同时打开超过6路的视频流(视频流由SRS进行推送),因为此限制,导致前端无法在同一源(srs服务器)上请求超过5路以上的视频,常用的解决方案为域名分片,细节大家可以自行百度,这里主要尝试了nginx+HTTP2.0的方式,在此记录。

2.安装nginx与http2.0支持模块

安装过程参考了
https://www.cnblogs.com/larry-luo/p/10131987.html
整体过程比较完整,存在的问题是没有说明版本问题,nginx需要1.9以上的版本,openssl需要1.02e及以上的版本,才能够正常使用HTTP2.0,后续又参考了以下文章:
https://blog.csdn.net/lzxlfly/article/details/90119543
openssl的安装与更新部分建议参考此文章,然后按照第一篇文章的步骤进行编译、安装nginx
openssl更新后可能会造成nginx编译失败的问题,报错与openssl有关,这时需要进行一些相关的设置,
参考:https://blog.csdn.net/huangbaokang/article/details/89847725

3.nginx配置

下面为nginx的https的配置,因为http2.0只能使用https,重点为在 ==listen ==后面加 http2

server {
        listen      8443 ssl http2;
        server_name  localhost;

        ssl_certificate      key/server.crt;
        ssl_certificate_key  key/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }

4.验证http2.0

nginx+srs,使用http2.0解决浏览器同源限制问题

在浏览器开发人员工具-network中打开 protocol 项,请求为 h2 即为HTTP2.0请求。

相关标签: SRS nginx srs