相关疑难解决方法(0)

多路复用在HTTP/2中意味着什么

有人可以解释与HTTP/2相关的多路复用及其工作原理吗?

http2

70
推荐指数
5
解决办法
2万
查看次数

为什么说HTTP2是二进制协议?

我刚刚阅读了一篇关于http1http2之间差异的文章,但我的主要问题是当它说http2 是二进制协议http1 是文本协议时

也许我错了,但我知道任何数据是文本或任何格式,它可以在内存中具有二进制表示形式,即使通过 TCP/IP 网络传输时,数据也会按照层(OSI 模型)的格式进行拆分或 TCP/IP 模型表示),这意味着在通过网络传输数据的上下文中不存在技术上的文本格式。

所以我不能真正理解 http2 和 http1 之间的这种不同,你能帮我更好的解释吗?

https http http-1.1 web-development-server http2

15
推荐指数
2
解决办法
3782
查看次数

如何使用Django服务器HTTP / 2协议

我计划使用HTTP / 2协议部署django项目,但是我找不到正确的方法来使用HTTP / 2来为基于django的网站提供服务器,我发现的唯一东西是hyper-h2

我阅读了文档,但无法设置连接。如果有人知道如何在HTTP / 2上处理django。

django django-views django-wsgi python-3.x http2

6
推荐指数
2
解决办法
3368
查看次数

Nuxt.JS http/2 帮助和建议

我目前正在使用 nuxt.js(使用内置服务器)构建应用程序。也就是说,我一直在通过开发运行 google 灯塔,而且在我的一生中,我无法让它为 http/2 提供服务。

在此处输入图片说明

在里面nuxt.config.js我补充说:

render: {
    http2: {
      push: true,
      pushAssets: (req, res, publicPath, preloadFiles) => preloadFiles
        .filter(f => f.asType === 'script' && f.file === 'runtime.js')
        .map(f => `<${publicPath}${f.file}>; rel=preload; as=${f.asType}`)
    }
}
Run Code Online (Sandbox Code Playgroud)

也许我不明白 HTTP/2 如何与 nuxt 一起工作,如果有人能提供任何帮助或建议,那就太好了!

javascript vue.js nuxt.js

5
推荐指数
1
解决办法
605
查看次数

带非 TLS 后端的 HTTPS 负载均衡器和带 TLS 后端的 HTTPS 负载均衡器有什么区别

我正在尝试将负载均衡器配置为使用Lets Encrypt提供的证书在 HTTPS 中提供服务,尽管我还无法做到这一点,但阅读本文提供了如何配置的步骤

  • 自签名证书
  • 带 TLS 后端的网络负载均衡器
  • 带非 TLS 后端的 HTTPS 负载均衡器
  • 带 TLS 后端的 HTTPS 负载均衡器

由于我只对 HTTPS 感兴趣,我想知道这两者之间有什么区别:

  1. 带非 TLS 后端的 HTTPS 负载均衡器
  2. 带 TLS 后端的 HTTPS 负载均衡器

但我的意思不是明显的原因,即第一个从负载均衡器到后端没有加密,我的意思是在性能和​​ HTTP2 连接方面,例如我会继续从http2中获得所有好处,如多路复用和流式传输吗?或者是第一个选项

带非 TLS 后端的 HTTPS 负载均衡器

只是一个幻觉,但我不会得到http2?

ssl load-balancing google-compute-engine google-cloud-platform http2

4
推荐指数
1
解决办法
1681
查看次数

是否可以在没有 ssl 的情况下在 NGINX 端口 443 上运行 HTTP/2?

我有 Envoy 代理处理 SSL 终止。Nginx(docker 容器中的 1.17.0,已编译--with-http_v2_module)是几个上游服务之一。结果,Nginx 在端口 443 上接收流量但不使用该ssl模块:

server {
    listen 443;
    server_name example.com www.example.com;
    root /var/www/html;

...
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我尝试添加http2到监听行的末尾,我会收到:

curl: (1) Received HTTP/0.9 when not allowed
Run Code Online (Sandbox Code Playgroud)

...不仅仅是有问题的example.com,而是所有服务器。

出于明显的性能原因,我希望 Envoy 通过 HTTP/2 与 Nginx 对话。

是否有一些技巧可以让 nginx 在端口 443 上使用 http2 而无需 SSL 终止?


编辑:

核心nginx.conf

user  nginx;
worker_processes  2;

pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    client_max_body_size 64M;

    sendfile        on;

    keepalive_timeout  65; …
Run Code Online (Sandbox Code Playgroud)

ssl nginx http2 envoyproxy

2
推荐指数
1
解决办法
3901
查看次数