HTTP/2 not compatible with filrefox on haproxy 1.8.3?


#21

new users can only put one image in a post…
QQ%E5%9B%BE%E7%89%8720180223091718


#22

Fair enough, but that is not my experience, i was specifically testing with IE10(no H2 support) and all other browsers and versions on virtual boxes b/c i work with US governments and have to be sure their antiquated systems work with our stack. . Are you sure Tengine is not acting inappropriately? Also seeing both the relevant portions of the haproxy config and nginx config would go a long way. I’m not on discourse right now, but don’t think both have been posted. I did extensive testing and switched in haproxy 1.7 and have never witnessed this. I don’t doubt your issue, but the configs along with nginx version (tangine version) would likely be helpful. When i was terminating SSL at nginx there was no issue as it downgrades, but putting HAProxy in front of that changes the behaviour.

Hopefully we can help, as this problem is obviously a burden.

Best,
Jeff


#23

Sure, if the browser does not support h2 at all (i.e. IE on XP or Win7), then both haproxy and Tengine will degrade to http/1.1 appropriately.

The problem with us is that HAProxy does not work for some older browsers that support alpn and http2, such as chrome 49 (neither talking with h2 nor downgrade to http / 1.1).

These sub-sites are provided by one of our partners, I will try, but not sure if I can get the detail configurations.

Thanks :slight_smile:


#24

Is there any new progress? Thanks :grin:


#25

We have tried the new 1.8.5 revision. It’s working fine with chrome 48 now. Many Thanks for it. :smiley:

But it still failed on chrome 49:

427: URL_REQUESThttps://demo.wderp.cn/GatherFiles?file_list=%2Flib%2Fshowdown%2Fshowdown.js%7C%2Fjs%2Fcommon%2FAppGlobal.js%7C%2Fjs%2Fcommon%2FSelectBgWin.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseModel.js%7C%2Fjs%2Fmain%2Fmodel%2FDiscussMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAppMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FLpWaitMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FBrowserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FUserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTzTpMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FSiteGeoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRacePartyMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FCostCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRoleMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWfsMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWorkFlowMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTodoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FReportCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAttMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FInstantMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FModelMgr.js%7C%2Fjs%2Fmain%2Fcontroller%2FAppCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBasicSettingCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeWindowMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeQueryFieldMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FSiteGeoCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTzTpCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FCostCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRoleCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRacePartyCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWfsCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWorkflowCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTodoTaskCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FUserCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FReportCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FInstantMessagerCtl.js%7C%2Fjs%2Fmain%2Fview%2FWdmsDeskTop.js%7C%2Fjs%2Fcommon%2FBaseTabPanel.js%7C%2Fjs%2Fcommon%2FBaseTabContentPanel.js%7C%2Fjs%2Fcommon%2FComboTree.js%7C%2Fjs%2Fcommon%2FUploadFileWindow.js%7C%2Fjs%2Fcommon%2FSearchField.js%7C%2Fjs%2Fcommon%2FComboGrid.js%7C%2Fjs%2Fcommon%2FUploadImgResizeSpot.js%7C%2Fjs%2Fcommon%2FUploadImg.js%7C%2Fjs%2Fcommon%2FCompositeField.js%7C%2Fjs%2Fcommon%2FPicView.js%7C%2Fjs%2Fcommon%2FDiscussEditor.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFrameWin.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFramePanel.js%7C%2Fjs%2Fcommon%2FDisplayInfoWin.js%7C%2Fjs%2Fcommon%2FPageTip.js%7C%2Fjs%2Fcommon%2FComboSplitButtnPanel.js%7C%2Fjs%2Fcommon%2FMixSpinnerField.js%7C%2Fjs%2Fcommon%2FShowErrorWin.js%7C%2Fjs%2Fcommon%2FPWSWin.js%7C%2Fjs%2Fcommon%2FWftValueReader.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseWft.js%7C%2Fjs%2Fcommon%2FWindowErrorHandler.js%7C%2Fjs%2Fmain%2Fview%2FAboutWin.js%7C%2Fjs%2Fmain%2Fview%2FWdmsMenu.js%7C%2Fjs%2Fmain%2Fview%2FChangePasswordWin.js%7C%2Fjs%2Fmain%2Fview%2FSetDesktopShortCutsWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTzFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTpFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingSiteFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRaceFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPartyFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingCostCenterFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRoleFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingGroupFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingDetailUserInfoWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditUserNEIWin.js%7C%2Fjs%2Fmain%2Fview%2FWFSManageWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWFSFormWin.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowPanel.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowApproveWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowWin.js%7C%2Fjs%2Fmain%2Fview%2FTodoTasksPanel.js%7C%2Fjs%2Fmain%2Fview%2FInstantMessagePanel.js%7C%2Fjs%2Fmain%2Fview%2FReportCenterPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowShowApproveCommentsWin.js%7C%2Fjs%2Fmain%2Fview%2FReportNameWin.js&common_header=%0D%0A&ver=402770244Start Time: 2018-03-26 19:31:45.468t=56306 [st=  0] +REQUEST_ALIVE  [dt=323]
t=56307 [st=  1]    URL_REQUEST_DELEGATE  [dt=0]
t=56307 [st=  1]   +URL_REQUEST_START_JOB  [dt=322]
                    --> load_flags = 49408 (IGNORE_LIMITS | MAYBE_USER_GESTURE | VERIFY_EV_CERT)
                    --> method = "GET"
                    --> priority = "HIGHEST"
                    --> url = "https://demo.wderp.cn/GatherFiles?file_list=%2Flib%2Fshowdown%2Fshowdown.js%7C%2Fjs%2Fcommon%2FAppGlobal.js%7C%2Fjs%2Fcommon%2FSelectBgWin.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseModel.js%7C%2Fjs%2Fmain%2Fmodel%2FDiscussMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAppMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FLpWaitMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FBrowserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FUserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTzTpMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FSiteGeoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRacePartyMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FCostCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRoleMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWfsMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWorkFlowMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTodoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FReportCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAttMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FInstantMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FModelMgr.js%7C%2Fjs%2Fmain%2Fcontroller%2FAppCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBasicSettingCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeWindowMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeQueryFieldMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FSiteGeoCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTzTpCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FCostCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRoleCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRacePartyCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWfsCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWorkflowCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTodoTaskCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FUserCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FReportCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FInstantMessagerCtl.js%7C%2Fjs%2Fmain%2Fview%2FWdmsDeskTop.js%7C%2Fjs%2Fcommon%2FBaseTabPanel.js%7C%2Fjs%2Fcommon%2FBaseTabContentPanel.js%7C%2Fjs%2Fcommon%2FComboTree.js%7C%2Fjs%2Fcommon%2FUploadFileWindow.js%7C%2Fjs%2Fcommon%2FSearchField.js%7C%2Fjs%2Fcommon%2FComboGrid.js%7C%2Fjs%2Fcommon%2FUploadImgResizeSpot.js%7C%2Fjs%2Fcommon%2FUploadImg.js%7C%2Fjs%2Fcommon%2FCompositeField.js%7C%2Fjs%2Fcommon%2FPicView.js%7C%2Fjs%2Fcommon%2FDiscussEditor.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFrameWin.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFramePanel.js%7C%2Fjs%2Fcommon%2FDisplayInfoWin.js%7C%2Fjs%2Fcommon%2FPageTip.js%7C%2Fjs%2Fcommon%2FComboSplitButtnPanel.js%7C%2Fjs%2Fcommon%2FMixSpinnerField.js%7C%2Fjs%2Fcommon%2FShowErrorWin.js%7C%2Fjs%2Fcommon%2FPWSWin.js%7C%2Fjs%2Fcommon%2FWftValueReader.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseWft.js%7C%2Fjs%2Fcommon%2FWindowErrorHandler.js%7C%2Fjs%2Fmain%2Fview%2FAboutWin.js%7C%2Fjs%2Fmain%2Fview%2FWdmsMenu.js%7C%2Fjs%2Fmain%2Fview%2FChangePasswordWin.js%7C%2Fjs%2Fmain%2Fview%2FSetDesktopShortCutsWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTzFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTpFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingSiteFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRaceFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPartyFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingCostCenterFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRoleFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingGroupFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingDetailUserInfoWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditUserNEIWin.js%7C%2Fjs%2Fmain%2Fview%2FWFSManageWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWFSFormWin.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowPanel.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowApproveWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowWin.js%7C%2Fjs%2Fmain%2Fview%2FTodoTasksPanel.js%7C%2Fjs%2Fmain%2Fview%2FInstantMessagePanel.js%7C%2Fjs%2Fmain%2Fview%2FReportCenterPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowShowApproveCommentsWin.js%7C%2Fjs%2Fmain%2Fview%2FReportNameWin.js&common_header=%0D%0A&ver=402770244"
t=56307 [st=  1]      URL_REQUEST_DELEGATE  [dt=0]
t=56307 [st=  1]      HTTP_CACHE_GET_BACKEND  [dt=0]
t=56307 [st=  1]      HTTP_CACHE_OPEN_ENTRY  [dt=26]
                      --> net_error = -2 (ERR_FAILED)
t=56333 [st= 27]      HTTP_CACHE_CREATE_ENTRY  [dt=22]
t=56355 [st= 49]      HTTP_CACHE_ADD_TO_ENTRY  [dt=0]
t=56355 [st= 49]      URL_REQUEST_DELEGATE  [dt=0]
t=56355 [st= 49]     +HTTP_STREAM_REQUEST  [dt=0]
t=56355 [st= 49]        HTTP_STREAM_REQUEST_STARTED_JOB
                        --> source_dependency = 430 (HTTP_STREAM_JOB)
t=56355 [st= 49]        HTTP_STREAM_REQUEST_BOUND_TO_JOB
                        --> source_dependency = 430 (HTTP_STREAM_JOB)
t=56355 [st= 49]     -HTTP_STREAM_REQUEST
t=56355 [st= 49]     +HTTP_TRANSACTION_SEND_REQUEST  [dt=2]
t=56355 [st= 49]        HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS
                        --> :authority: demo.wderp.cn
                            :method: GET
                            :path: /GatherFiles?file_list=%2Flib%2Fshowdown%2Fshowdown.js%7C%2Fjs%2Fcommon%2FAppGlobal.js%7C%2Fjs%2Fcommon%2FSelectBgWin.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseModel.js%7C%2Fjs%2Fmain%2Fmodel%2FDiscussMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAppMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FLpWaitMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FBrowserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FUserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTzTpMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FSiteGeoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRacePartyMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FCostCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRoleMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWfsMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWorkFlowMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTodoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FReportCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAttMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FInstantMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FModelMgr.js%7C%2Fjs%2Fmain%2Fcontroller%2FAppCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBasicSettingCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeWindowMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeQueryFieldMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FSiteGeoCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTzTpCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FCostCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRoleCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRacePartyCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWfsCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWorkflowCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTodoTaskCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FUserCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FReportCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FInstantMessagerCtl.js%7C%2Fjs%2Fmain%2Fview%2FWdmsDeskTop.js%7C%2Fjs%2Fcommon%2FBaseTabPanel.js%7C%2Fjs%2Fcommon%2FBaseTabContentPanel.js%7C%2Fjs%2Fcommon%2FComboTree.js%7C%2Fjs%2Fcommon%2FUploadFileWindow.js%7C%2Fjs%2Fcommon%2FSearchField.js%7C%2Fjs%2Fcommon%2FComboGrid.js%7C%2Fjs%2Fcommon%2FUploadImgResizeSpot.js%7C%2Fjs%2Fcommon%2FUploadImg.js%7C%2Fjs%2Fcommon%2FCompositeField.js%7C%2Fjs%2Fcommon%2FPicView.js%7C%2Fjs%2Fcommon%2FDiscussEditor.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFrameWin.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFramePanel.js%7C%2Fjs%2Fcommon%2FDisplayInfoWin.js%7C%2Fjs%2Fcommon%2FPageTip.js%7C%2Fjs%2Fcommon%2FComboSplitButtnPanel.js%7C%2Fjs%2Fcommon%2FMixSpinnerField.js%7C%2Fjs%2Fcommon%2FShowErrorWin.js%7C%2Fjs%2Fcommon%2FPWSWin.js%7C%2Fjs%2Fcommon%2FWftValueReader.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseWft.js%7C%2Fjs%2Fcommon%2FWindowErrorHandler.js%7C%2Fjs%2Fmain%2Fview%2FAboutWin.js%7C%2Fjs%2Fmain%2Fview%2FWdmsMenu.js%7C%2Fjs%2Fmain%2Fview%2FChangePasswordWin.js%7C%2Fjs%2Fmain%2Fview%2FSetDesktopShortCutsWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTzFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTpFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingSiteFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRaceFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPartyFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingCostCenterFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRoleFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingGroupFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingDetailUserInfoWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditUserNEIWin.js%7C%2Fjs%2Fmain%2Fview%2FWFSManageWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWFSFormWin.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowPanel.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowApproveWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowWin.js%7C%2Fjs%2Fmain%2Fview%2FTodoTasksPanel.js%7C%2Fjs%2Fmain%2Fview%2FInstantMessagePanel.js%7C%2Fjs%2Fmain%2Fview%2FReportCenterPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowShowApproveCommentsWin.js%7C%2Fjs%2Fmain%2Fview%2FReportNameWin.js&common_header=%0D%0A&ver=402770244
                            :scheme: https
                            accept: */*
                            accept-encoding: gzip, deflate, sdch
                            accept-language: zh-CN,zh;q=0.8
                            cookie: [53 bytes were stripped]
                            referer: https://demo.wderp.cn/main.html
                            user-agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
t=56357 [st= 51]     -HTTP_TRANSACTION_SEND_REQUEST
t=56357 [st= 51]     +HTTP_TRANSACTION_READ_HEADERS  [dt=80]
t=56437 [st=131]        HTTP2_STREAM_ERROR
                        --> description = "ABANDONED (stream_id=65): https://demo.wderp.cn/GatherFiles?file_list=%2Flib%2Fshowdown%2Fshowdown.js%7C%2Fjs%2Fcommon%2FAppGlobal.js%7C%2Fjs%2Fcommon%2FSelectBgWin.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseModel.js%7C%2Fjs%2Fmain%2Fmodel%2FDiscussMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAppMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FLpWaitMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FBrowserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FUserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTzTpMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FSiteGeoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRacePartyMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FCostCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRoleMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWfsMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWorkFlowMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTodoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FReportCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAttMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FInstantMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FModelMgr.js%7C%2Fjs%2Fmain%2Fcontroller%2FAppCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBasicSettingCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeWindowMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeQueryFieldMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FSiteGeoCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTzTpCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FCostCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRoleCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRacePartyCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWfsCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWorkflowCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTodoTaskCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FUserCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FReportCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FInstantMessagerCtl.js%7C%2Fjs%2Fmain%2Fview%2FWdmsDeskTop.js%7C%2Fjs%2Fcommon%2FBaseTabPanel.js%7C%2Fjs%2Fcommon%2FBaseTabContentPanel.js%7C%2Fjs%2Fcommon%2FComboTree.js%7C%2Fjs%2Fcommon%2FUploadFileWindow.js%7C%2Fjs%2Fcommon%2FSearchField.js%7C%2Fjs%2Fcommon%2FComboGrid.js%7C%2Fjs%2Fcommon%2FUploadImgResizeSpot.js%7C%2Fjs%2Fcommon%2FUploadImg.js%7C%2Fjs%2Fcommon%2FCompositeField.js%7C%2Fjs%2Fcommon%2FPicView.js%7C%2Fjs%2Fcommon%2FDiscussEditor.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFrameWin.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFramePanel.js%7C%2Fjs%2Fcommon%2FDisplayInfoWin.js%7C%2Fjs%2Fcommon%2FPageTip.js%7C%2Fjs%2Fcommon%2FComboSplitButtnPanel.js%7C%2Fjs%2Fcommon%2FMixSpinnerField.js%7C%2Fjs%2Fcommon%2FShowErrorWin.js%7C%2Fjs%2Fcommon%2FPWSWin.js%7C%2Fjs%2Fcommon%2FWftValueReader.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseWft.js%7C%2Fjs%2Fcommon%2FWindowErrorHandler.js%7C%2Fjs%2Fmain%2Fview%2FAboutWin.js%7C%2Fjs%2Fmain%2Fview%2FWdmsMenu.js%7C%2Fjs%2Fmain%2Fview%2FChangePasswordWin.js%7C%2Fjs%2Fmain%2Fview%2FSetDesktopShortCutsWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTzFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTpFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingSiteFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRaceFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPartyFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingCostCenterFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRoleFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingGroupFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingDetailUserInfoWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditUserNEIWin.js%7C%2Fjs%2Fmain%2Fview%2FWFSManageWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWFSFormWin.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowPanel.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowApproveWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowWin.js%7C%2Fjs%2Fmain%2Fview%2FTodoTasksPanel.js%7C%2Fjs%2Fmain%2Fview%2FInstantMessagePanel.js%7C%2Fjs%2Fmain%2Fview%2FReportCenterPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowShowApproveCommentsWin.js%7C%2Fjs%2Fmain%2Fview%2FReportNameWin.js&common_header=%0D%0A&ver=402770244"
                        --> status = -100
                        --> stream_id = 65
t=56437 [st=131]        HTTP_TRANSACTION_RESTART_AFTER_ERROR
                        --> net_error = -100 (ERR_CONNECTION_CLOSED)
t=56437 [st=131]     -HTTP_TRANSACTION_READ_HEADERS
t=56437 [st=131]     +HTTP_STREAM_REQUEST  [dt=104]
t=56437 [st=131]        HTTP_STREAM_REQUEST_STARTED_JOB
                        --> source_dependency = 431 (HTTP_STREAM_JOB)
t=56541 [st=235]        HTTP_STREAM_REQUEST_BOUND_TO_JOB
                        --> source_dependency = 431 (HTTP_STREAM_JOB)
t=56541 [st=235]     -HTTP_STREAM_REQUEST
t=56541 [st=235]     +HTTP_TRANSACTION_SEND_REQUEST  [dt=2]
t=56541 [st=235]        HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS
                        --> :authority: demo.wderp.cn
                            :method: GET
                            :path: /GatherFiles?file_list=%2Flib%2Fshowdown%2Fshowdown.js%7C%2Fjs%2Fcommon%2FAppGlobal.js%7C%2Fjs%2Fcommon%2FSelectBgWin.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseModel.js%7C%2Fjs%2Fmain%2Fmodel%2FDiscussMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAppMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FLpWaitMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FBrowserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FUserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTzTpMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FSiteGeoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRacePartyMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FCostCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRoleMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWfsMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWorkFlowMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTodoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FReportCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAttMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FInstantMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FModelMgr.js%7C%2Fjs%2Fmain%2Fcontroller%2FAppCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBasicSettingCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeWindowMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeQueryFieldMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FSiteGeoCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTzTpCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FCostCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRoleCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRacePartyCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWfsCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWorkflowCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTodoTaskCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FUserCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FReportCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FInstantMessagerCtl.js%7C%2Fjs%2Fmain%2Fview%2FWdmsDeskTop.js%7C%2Fjs%2Fcommon%2FBaseTabPanel.js%7C%2Fjs%2Fcommon%2FBaseTabContentPanel.js%7C%2Fjs%2Fcommon%2FComboTree.js%7C%2Fjs%2Fcommon%2FUploadFileWindow.js%7C%2Fjs%2Fcommon%2FSearchField.js%7C%2Fjs%2Fcommon%2FComboGrid.js%7C%2Fjs%2Fcommon%2FUploadImgResizeSpot.js%7C%2Fjs%2Fcommon%2FUploadImg.js%7C%2Fjs%2Fcommon%2FCompositeField.js%7C%2Fjs%2Fcommon%2FPicView.js%7C%2Fjs%2Fcommon%2FDiscussEditor.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFrameWin.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFramePanel.js%7C%2Fjs%2Fcommon%2FDisplayInfoWin.js%7C%2Fjs%2Fcommon%2FPageTip.js%7C%2Fjs%2Fcommon%2FComboSplitButtnPanel.js%7C%2Fjs%2Fcommon%2FMixSpinnerField.js%7C%2Fjs%2Fcommon%2FShowErrorWin.js%7C%2Fjs%2Fcommon%2FPWSWin.js%7C%2Fjs%2Fcommon%2FWftValueReader.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseWft.js%7C%2Fjs%2Fcommon%2FWindowErrorHandler.js%7C%2Fjs%2Fmain%2Fview%2FAboutWin.js%7C%2Fjs%2Fmain%2Fview%2FWdmsMenu.js%7C%2Fjs%2Fmain%2Fview%2FChangePasswordWin.js%7C%2Fjs%2Fmain%2Fview%2FSetDesktopShortCutsWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTzFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTpFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingSiteFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRaceFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPartyFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingCostCenterFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRoleFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingGroupFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingDetailUserInfoWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditUserNEIWin.js%7C%2Fjs%2Fmain%2Fview%2FWFSManageWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWFSFormWin.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowPanel.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowApproveWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowWin.js%7C%2Fjs%2Fmain%2Fview%2FTodoTasksPanel.js%7C%2Fjs%2Fmain%2Fview%2FInstantMessagePanel.js%7C%2Fjs%2Fmain%2Fview%2FReportCenterPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowShowApproveCommentsWin.js%7C%2Fjs%2Fmain%2Fview%2FReportNameWin.js&common_header=%0D%0A&ver=402770244
                            :scheme: https
                            accept: */*
                            accept-encoding: gzip, deflate, sdch
                            accept-language: zh-CN,zh;q=0.8
                            cookie: [53 bytes were stripped]
                            referer: https://demo.wderp.cn/main.html
                            user-agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
t=56543 [st=237]     -HTTP_TRANSACTION_SEND_REQUEST
t=56543 [st=237]     +HTTP_TRANSACTION_READ_HEADERS  [dt=86]
t=56629 [st=323]        HTTP2_STREAM_ERROR
                        --> description = "ABANDONED (stream_id=1): https://demo.wderp.cn/GatherFiles?file_list=%2Flib%2Fshowdown%2Fshowdown.js%7C%2Fjs%2Fcommon%2FAppGlobal.js%7C%2Fjs%2Fcommon%2FSelectBgWin.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseModel.js%7C%2Fjs%2Fmain%2Fmodel%2FDiscussMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAppMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FLpWaitMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FBrowserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FUserMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTzTpMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FSiteGeoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRacePartyMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FCostCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FRoleMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWfsMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FWorkFlowMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FTodoMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FReportCenterMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FAttMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FInstantMessageMgr.js%7C%2Fjs%2Fmain%2Fmodel%2FModelMgr.js%7C%2Fjs%2Fmain%2Fcontroller%2FAppCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBasicSettingCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeWindowMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FBModeQueryFieldMgrCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FSiteGeoCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTzTpCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FCostCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRoleCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FRacePartyCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWfsCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FWorkflowCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FTodoTaskCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FUserCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FReportCenterCtl.js%7C%2Fjs%2Fmain%2Fcontroller%2FInstantMessagerCtl.js%7C%2Fjs%2Fmain%2Fview%2FWdmsDeskTop.js%7C%2Fjs%2Fcommon%2FBaseTabPanel.js%7C%2Fjs%2Fcommon%2FBaseTabContentPanel.js%7C%2Fjs%2Fcommon%2FComboTree.js%7C%2Fjs%2Fcommon%2FUploadFileWindow.js%7C%2Fjs%2Fcommon%2FSearchField.js%7C%2Fjs%2Fcommon%2FComboGrid.js%7C%2Fjs%2Fcommon%2FUploadImgResizeSpot.js%7C%2Fjs%2Fcommon%2FUploadImg.js%7C%2Fjs%2Fcommon%2FCompositeField.js%7C%2Fjs%2Fcommon%2FPicView.js%7C%2Fjs%2Fcommon%2FDiscussEditor.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFrameWin.js%7C%2Fjs%2Fcommon%2FQueryEditorWithIFramePanel.js%7C%2Fjs%2Fcommon%2FDisplayInfoWin.js%7C%2Fjs%2Fcommon%2FPageTip.js%7C%2Fjs%2Fcommon%2FComboSplitButtnPanel.js%7C%2Fjs%2Fcommon%2FMixSpinnerField.js%7C%2Fjs%2Fcommon%2FShowErrorWin.js%7C%2Fjs%2Fcommon%2FPWSWin.js%7C%2Fjs%2Fcommon%2FWftValueReader.js%7C%2Fjs%2Fmain%2Fmodel%2FBaseWft.js%7C%2Fjs%2Fcommon%2FWindowErrorHandler.js%7C%2Fjs%2Fmain%2Fview%2FAboutWin.js%7C%2Fjs%2Fmain%2Fview%2FWdmsMenu.js%7C%2Fjs%2Fmain%2Fview%2FChangePasswordWin.js%7C%2Fjs%2Fmain%2Fview%2FSetDesktopShortCutsWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTzFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingTpFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingSiteFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRaceFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPartyFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingCostCenterFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingRoleFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingGroupFormWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingDetailUserInfoWin.js%7C%2Fjs%2Fmain%2Fview%2FBasicSettingPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditUserNEIWin.js%7C%2Fjs%2Fmain%2Fview%2FWFSManageWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWFSFormWin.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowPanel.js%7C%2Fjs%2Fmain%2Fview%2FWorkFlowApproveWin.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowWin.js%7C%2Fjs%2Fmain%2Fview%2FTodoTasksPanel.js%7C%2Fjs%2Fmain%2Fview%2FInstantMessagePanel.js%7C%2Fjs%2Fmain%2Fview%2FReportCenterPanel.js%7C%2Fjs%2Fmain%2Fview%2FEditWorkFlowShowApproveCommentsWin.js%7C%2Fjs%2Fmain%2Fview%2FReportNameWin.js&common_header=%0D%0A&ver=402770244"
                        --> status = -100
                        --> stream_id = 1
t=56629 [st=323]     -HTTP_TRANSACTION_READ_HEADERS
                      --> net_error = -100 (ERR_CONNECTION_CLOSED)
t=56629 [st=323]   -URL_REQUEST_START_JOB
                    --> net_error = -100 (ERR_CONNECTION_CLOSED)
t=56629 [st=323]    URL_REQUEST_DELEGATE  [dt=0]
t=56629 [st=323] -REQUEST_ALIVE
                  --> net_error = -100 (ERR_CONNECTION_CLOSED)

Compared to the previous -3 (ERR_ABORTED), this time the error code becomes -100 (ERR_CONNECTION_CLOSED).


#26

We found that the h2 implementation of HAProxy 1.8.5 is also incompatible with WebKit. In
the latest version of Huawei Mate 10 (Android 8.0 update: 2018-03-01)
built-in browser, It shows the exact same symptoms as Chrome 49.

The Browser’s User Agent string is:

Mozilla/5.0 (Linux; Android 8.0.0; ALP-AL00 Build/HUAWEIALP-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36

It seems on the new flagship model with latest firmware still has this compatibility issues. Can it rise the priority of this issue?

Thanks :slight_smile:


#27

ASBai i’m extremely thankful for all your updates and everything you’ve shared here. i have found the exact same problem of http/2 not being compatible with filrefox on haproxy! will try some ideas i found here but wanted to ask if you don’t mind me asking questions? thanks!


#28

I also have the h2 problem with Chome 49 on Windows XP. It is old but sadly we have a lot of clients that still use it.
Sadly we have to fall back to http1.1. It is great if you can have it fixed on the next release


#29

I believe the firefox compatibility issue has been fixed by the 1.8.4 revision. You may try it and see what’s happen. :slight_smile:

Of course, we can discuss any related questions here :smiley:


#30

We tried the 1.8.7 revision and the same problem still exists. :frowning:


#31

1.8.9 still has the same problem …


#32

I’ve found the root of the rest problem: The max length of url has very strict limitation under the h2 mode on some old versions of the chrome blink engine. Even if the same url just working fine under the http/1.1 mode with the exactly same blink engine.

For example: We have an url with 2713 bytes of length, and it is not working under h2 mode for the chrome 49.

The solution is very simple: Just shrink the url length. For example, we have a function deal with the js file batch loading, here is the pseudo code to cover this problem:

function BatchLoadJs(gstJsList)
{
    // gstJsList is an array of js files, like: ["a.js", "b.js", "c.js", ...]
    // Let's assume there is 90 files in it: gstJsList.length == 90

    try
    {
        // Load all file listed in gstJsList at one shoot;
    }
    cache (e)
    {
        // Load files listed in gstJsList by 9 rounds with 10 files per round
        // Don't use the browser's agent sting to make the decision, because
        // it is not accurate: some third party browser base on the blink engine 
        // does not show the "chrome" on it (e.g.: The official browser of HUAWEI
        // mobile phone). 
    }
}

We are using HAProxy 1.8.13 now, and in conjunction with the above solution, it successfully passed all of our compatibility tests. And no more browser compatibility complaints so far.