http2.0反向代理碰到的坑
时间:2021-05-08

应用域名跳转nginx服务项目来代理商https,nginx能够根据剖析clienthello中的server_name字段名获得浏览网站域名,随后根据域名解析详细地址来开展代理商。
http2.0反向代理遇到的坑

这儿几个难题,第一个是低版的ie浏览器,应用的是低版的tls,沒有这一字段名,没法获得网站域名,但是如今应用低版IE的越来越低了,能够忽视。
第二个是iPhone的一些系统应用,填好的网站域名并不是真真正正的网站域名,但是如影随行,能够根据字符串数组改动为真真正正的网站域名,开展代理商。

近期检测京东商城的情况下发觉浏览京东商城二级域名的情况下有时候会回到200,有时候会301一个出现异常网页页面。
http2.0反向代理遇到的坑
而假如新开业打开浏览器二级网页页面,就沒有这类难题。
有时候发觉如果不应用网站域名立即代理商,只是应用浏览器代理设定,浏览一切正常,十分怪异。
根据比照发觉,应用域名代理时应用的是HTTP2.0,而设定浏览器代理时应用的是HTTP1.1,因此在电脑浏览器严禁http2.0(火狐浏览器设定 about:config network.http.spdy.enabled.http2为假/gg浏览器没找到如何设置),浏览京东商城一切正常。
手机客户端在要求的情况下会带上自身适用的http种类
http2.0反向代理遇到的坑
因此想起在代理商时伪造字段名,把http2.0给关闭,只申请办理http1.1,可是联接会被终断。
https://blog.csdn.net/mrpre/article/details/77868570
依据这一网页页面能够了解,尽管hello是密文的,可是也是有校检,伪造是走堵塞的。
再次进一步抓包软件,发觉在浏览二级网页页面时,电脑浏览器传出了几十个要求(不一样网站域名),可是抓包软件只有一个连接,难道说HTTP2.0会把不一样网站域名一样IP的要求放到一个连接里边多路复用吗?因此 造成了难题。
这儿干了一些试着,应用jiadian.jd.com的url浏览www.jd.com 的ip详细地址。

http2.0反向代理遇到的坑
大家发觉恰好和电脑浏览器发生的不正确一样,都带了一个cdn_nohost。
基本上能够明确HTTP2.0针对好几个解析域名到同一个ip上的状况下,会多路复用联接,那麼在这类状况下,简易的https代理商也不投运了,只有对于一个网站域名给与一个ip的方式 才可以解决。