Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 反向代理是否可能将http/1.1连接升级到http2?_Go_Reverse Proxy_Http2 - Fatal编程技术网

Go 反向代理是否可能将http/1.1连接升级到http2?

Go 反向代理是否可能将http/1.1连接升级到http2?,go,reverse-proxy,http2,Go,Reverse Proxy,Http2,不确定是否可能,但如果您有一个HTTP/1.1连接的反向代理,那么如果目标能够为HTTP/2提供服务,是否有可能从反向代理(所述连接)向HTTP/2发送数据 如果有帮助的话,代理是用go编写的,它利用了包。是的,这是完全可能的 大多数的网络代理?HTTP代理也称为7级代理,具有两个独立的HTTP连接—一个用于传入的“前端”,另一个用于传出的“后端”。这两个连接可以有完全不同的设置,包括支持不同的HTTP版本 其他代理是TCP代理,也称为4级代理,它们没有HTTP的概念,只是转发TCP数据包,并假

不确定是否可能,但如果您有一个HTTP/1.1连接的反向代理,那么如果目标能够为HTTP/2提供服务,是否有可能从反向代理(所述连接)向HTTP/2发送数据


如果有帮助的话,代理是用go编写的,它利用了包。

是的,这是完全可能的

大多数的网络代理?HTTP代理也称为7级代理,具有两个独立的HTTP连接—一个用于传入的“前端”,另一个用于传出的“后端”。这两个连接可以有完全不同的设置,包括支持不同的HTTP版本

其他代理是TCP代理,也称为4级代理,它们没有HTTP的概念,只是转发TCP数据包,并假设其他代理知道如何处理它们。在这种情况下,这是不可能的 使用不同的HTTP版本


也就是说,HTTP/2提高了HTTP对高延迟连接的性能影响。通常,后端连接的延迟更低,带宽更高,甚至可能在同一数据中心。所以,虽然你所问的是完全可能的,但你是否想这样做更值得怀疑。可能正是由于这一值得怀疑的好处,许多服务器实际上不支持通过HTTP/2的后端连接。Nginx没有,也没有。我对Go不熟悉。

嗨,Barry,如果我们要对编程语言进行抽象,那么从代理端进行升级需要哪些步骤?在将请求传递到上游之前,是否应该包含一个特定的头?我尝试了一些设置升级头的实验,但似乎go reverse代理不喜欢它。你不会进行升级。您只需告诉代理连接到后端,如果双方都支持HTTP/2,那么这将作为连接设置的一部分。您不需要升级一个连接-您需要设置两个独立的连接。老实说,我不认为我理解你的问题。也许会确切地解释你想做什么,以及为什么!会有帮助的。您是否正在尝试为不支持HTTP/2的系统有效地启用HTTP/2支持?这是我的用法:我有许多前端,一个cloudfront分发服务于s3存储桶中的资产。我知道cloudfront支持HTTP/2,所以我想检查它们是如何通过HTTP/2加载的。基本上,当前端请求例如image.png时,根据请求资源的前端,我需要将其重写到cloudfront发行版中的特定路径。当前,前端向反向代理发出请求,路径被重写,然后请求被发送到cloudfront。