5.5 KiB
【K18】iOS操作系统使用Chrome浏览器访问个别HTTP2网站Deny Profile未生效
| ID | Creation Date | Assignee | Status |
|---|---|---|---|
| OMPUB-462 | 2022-04-22T11:41:54.000+0800 | 冯伟浩 | 已关闭 |
客户在np系统上配了deny策略 一个策略下面配了两个网站 访问目标网站的时候 替换成客户上传的html文件里面的内容 这两个网站一个是me.me 一个是pinterest.ru 现在me.me 正常deny了 也能替换成他上传的那个html的内容 但是访问pinterest.ru的时候不能正常替换
fengweihao commented on 2022-04-24T10:01:40.335+0800:
暂时解决方案:
关于pinterest.ru在IOS手机谷歌浏览器上的deny情况下无法显示Profile页面,在策略条件中增加应答头条件,可暂时解决此问题就
问题原因:
由于HTTP2 Deny情况下控制帧乱序引起
正常处理帧流程为:
C端Seting帧-S端Seting帧-C端get请求-S端get应答
异常处理帧流程为:
C端Seting帧-C端get请求-S端get应答-S端Seting帧
zhengchao commented on 2022-04-24T10:39:45.188+0800:
可以通过单元测试用例稳定重现吗?
fengweihao commented on 2022-04-24T11:09:16.417+0800:
目前单元测试用例中没有关于控制帧的测试
此问题的主要原因在于,如果服务器回复的seting帧,晚于deny发送的profile应答体,IOS上的谷歌浏览器报无效应答内容,window上显示正常
经多次测试,如果drop服务器回复的seting帧,IOS上依旧报错
原处理流程
get请求->pangu扫描命中->代理发送应答内容
现在流程修改为:
get请求->pangu扫描命中->代理转发给服务的端->服务端回复->代理丢弃服务端回复内容,发送Profile指定的应答内容
以上问题可解决
zhengchao commented on 2022-04-24T14:31:56.944+0800:
为tfe或自检增加该单元测试。修改后的流程会对以前的处理逻辑有影响吗?
fengweihao commented on 2022-04-24T16:18:28.390+0800:
以上修改后,如果代理策略在配置URL或者请求头时,会对Deny、Redirect、Hijack的处理逻辑造成影响 也就是HTTP2解析层多了以上这段处理: 代理转发给服务的端->服务端回复->代理丢弃服务端回复内容,发送指定的应答内容
zhengchao commented on 2022-04-24T18:09:00.356+0800:
找个不影响正常处理逻辑的改法
fengweihao commented on 2022-04-26T18:04:49.091+0800:
目前修改为:
在配置url或者请求头时,命中Deny策略后,判断 客户端句柄iframe帧状态是否为NGHTTP2_IB_READ_FIRST_SETTINGS,如果为NGHTTP2_IB_READ_FIRST_SETTINGS
则由代理服务端句柄初始化发送Settings帧信息,而后发送应答信息。
gitlab commented on 2022-04-28T14:03:53.890+0800:
[冯伟浩|https://git.mesalab.cn/fengweihao] mentioned this issue in [a commit|4c3d929d73] of [TSG / tfe|https://git.mesalab.cn/tango/tfe] on branch [bugfix-ompub-562-deny-failed|https://git.mesalab.cn/tango/tfe/-/tree/bugfix-ompub-562-deny-failed]:{quote}OMPUB-462 iOS操作系统使用Chrome浏览器访问个别HTTP2网站Deny Profile未生效{quote}
fengweihao commented on 2022-05-05T10:10:30.715+0800:
目前K现场未在测试或者浮现此问题,05版本更新复测代理功能一轮
gitlab commented on 2022-05-06T17:41:59.608+0800:
[冯伟浩|https://git.mesalab.cn/fengweihao] mentioned this issue in [a merge request|https://git.mesalab.cn/tango/tfe/-/merge_requests/494] of [TSG / tfe|https://git.mesalab.cn/tango/tfe] on branch [bugfix-ompub-562-deny-failed|https://git.mesalab.cn/tango/tfe/-/tree/bugfix-ompub-562-deny-failed]:{quote}OMPUB-462 iOS操作系统使用Chrome浏览器访问个别HTTP2网站Deny Profile未生效{quote}
gitlab commented on 2022-05-07T14:26:43.558+0800:
[卢文朋|https://git.mesalab.cn/luwenpeng] mentioned this issue in [a merge request|https://git.mesalab.cn/tango/tfe/-/merge_requests/495] of [TSG / tfe|https://git.mesalab.cn/tango/tfe] on branch [develop-4.6|https://git.mesalab.cn/tango/tfe/-/tree/develop-4.6]:{quote}OMPUB-462 iOS操作系统使用Chrome浏览器访问个别HTTP2网站Deny Profile未生效{quote}
gitlab commented on 2022-05-07T16:21:30.668+0800:
[冯伟浩|https://git.mesalab.cn/fengweihao] mentioned this issue in [a commit|5b031c5405] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-tfe-to-v4.6.14|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-tfe-to-v4.6.14]:{quote}更新tfe到v4.6.14, 版本修改: OMPUB-462 iOS操作系统使用Chrome浏览器访问个别HTTP2网站Deny Profile未生效{quote}
gitlab commented on 2022-05-07T16:21:48.660+0800:
[冯伟浩|https://git.mesalab.cn/fengweihao] mentioned this issue in [a merge request|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/merge_requests/759] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-tfe-to-v4.6.14|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-tfe-to-v4.6.14]:{quote}更新tfe到v4.6.14, 版本修改: OMPUB-462 iOS操作系统使用Chrome浏览器访问个别HTTP2网站Deny Profile未生效{quote}
dongxiaoyan commented on 2022-05-12T16:15:48.964+0800:
信息港环境22.05版本复测通过。