Files
geedge-jira/md/OMPUB-462.md
2025-09-14 21:52:36 +00:00

5.5 KiB
Raw Blame History

【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版本复测通过。


Attachments