[GH-ISSUE #578] 0.14.1 proxy inside router can't return the right information and can't #449

Closed
opened 2026-05-05 12:16:57 -06:00 by gitea-mirror · 8 comments
Owner

Originally created by @kmfxq on GitHub (Dec 29, 2017).
Original GitHub issue: https://github.com/fatedier/frp/issues/578

Issue is only used for submiting bug report and documents typo. If there are same issues or answers can be found in documents, we will close it directly.
(为了节约时间,提高处理问题的效率,不按照格式填写的 issue 将会直接关闭。)

Use the commands below to provide key information from your environment:
You do NOT have to include this information if this is a FEATURE REQUEST

What version of frp are you using (./frpc -v or ./frps -v)?
0.14.1

What operating system and processor architecture are you using (go env)?
arm route

Configures you used:
nomal

Steps to reproduce the issue:
i have a router netcore 285P AS the first router(ie, 192.168.1.1 ), and another route,which install frpc, as the second router, i want to use the second router proxy the first route,it works. But had something wrong(can't operate the first router, missing some information,etc)

1.when i use the 0.13.0 frps, It just use the IE can operate the first route,but useless for chrome.
2.when i use the 0.14.1 frps, any Browser can't work.

我使用一个安装frpc的二级路由去代理内网中的一级路由,内网一级路由是磊科285p型号,代理能成功但是出现一些问题。
当我使用frps版本为0.13时,只能使用IE浏览器或者火狐浏览器,操作一级路由,谷歌浏览器丢失了大部分数据,不能操作一级路由。
当我使用frps版本为0.14时,所有浏览器丢失了大部分数据,不能操作一级路由。

Describe the results you received:

can't return the right information, and can't operate the website.

Describe the results you expected:

Additional information you deem important (e.g. issue happens only occasionally):

Can you point out what caused this issue (optional)

Originally created by @kmfxq on GitHub (Dec 29, 2017). Original GitHub issue: https://github.com/fatedier/frp/issues/578 Issue is only used for submiting bug report and documents typo. If there are same issues or answers can be found in documents, we will close it directly. (为了节约时间,提高处理问题的效率,不按照格式填写的 issue 将会直接关闭。) Use the commands below to provide key information from your environment: You do NOT have to include this information if this is a FEATURE REQUEST **What version of frp are you using (./frpc -v or ./frps -v)?** 0.14.1 **What operating system and processor architecture are you using (`go env`)?** arm route **Configures you used:** nomal **Steps to reproduce the issue:** i have a router netcore 285P AS the first router(ie, 192.168.1.1 ), and another route,which install frpc, as the second router, i want to use the second router proxy the first route,it works. But had something wrong(can't operate the first router, missing some information,etc) 1.when i use the 0.13.0 frps, It just use the IE can operate the first route,but useless for chrome. 2.when i use the 0.14.1 frps, any Browser can't work. 我使用一个安装frpc的二级路由去代理内网中的一级路由,内网一级路由是磊科285p型号,代理能成功但是出现一些问题。 当我使用frps版本为0.13时,只能使用IE浏览器或者火狐浏览器,操作一级路由,谷歌浏览器丢失了大部分数据,不能操作一级路由。 当我使用frps版本为0.14时,所有浏览器丢失了大部分数据,不能操作一级路由。 **Describe the results you received:** can't return the right information, and can't operate the website. **Describe the results you expected:** **Additional information you deem important (e.g. issue happens only occasionally):** **Can you point out what caused this issue (optional)**
gitea-mirror 2026-05-05 12:16:57 -06:00
Author
Owner

@fatedier commented on GitHub (Jan 17, 2018):

没有理解,简单描述下你认为可能的原因以及如何让他人能够方便地在本地复现这个问题?

<!-- gh-comment-id:358352694 --> @fatedier commented on GitHub (Jan 17, 2018): 没有理解,简单描述下你认为可能的原因以及如何让他人能够方便地在本地复现这个问题?
Author
Owner

@kmfxq commented on GitHub (Jan 18, 2018):

这里无法贴图,用语言无法描述,用图:
首先拓扑图:
default

采用0.13版,使用IE或者火狐或者edge浏览器均可正常控制磊科285P
ie firefox

采用谷歌出现下图:
default

如果使用0.14版本,所有浏览器均无法控制。

<!-- gh-comment-id:358518190 --> @kmfxq commented on GitHub (Jan 18, 2018): 这里无法贴图,用语言无法描述,用图: 首先拓扑图: ![default](https://user-images.githubusercontent.com/5018265/35077945-a879c62e-fc3a-11e7-85eb-2a675be458ba.jpg) 采用0.13版,使用IE或者火狐或者edge浏览器均可正常控制磊科285P ![ie firefox](https://user-images.githubusercontent.com/5018265/35077929-91c5f420-fc3a-11e7-85c0-9e6498c251b9.JPG) 采用谷歌出现下图: ![default](https://user-images.githubusercontent.com/5018265/35077936-96a38872-fc3a-11e7-853d-b6f5eb597dbb.JPG) 如果使用0.14版本,所有浏览器均无法控制。
Author
Owner

@fatedier commented on GitHub (Jan 18, 2018):

用开发者模式,查看浏览器发送的 http 请求的返回结果,然后分析下原因。

<!-- gh-comment-id:358521438 --> @fatedier commented on GitHub (Jan 18, 2018): 用开发者模式,查看浏览器发送的 http 请求的返回结果,然后分析下原因。
Author
Owner

@kmfxq commented on GitHub (Jan 18, 2018):

检查过了,谷歌返回的都是
http://...../router/sys_time_show.cgi ERR_INVALID_HTTP_RESPONSE,
http://xxxxx/router/wanport_real_show.cgi ERR_INVALID_HTTP_RESPONSE,
估计是磊科的CGI有点问题,但是直接用谷歌浏览器在内网访问没有问题,通过FRPC就有
不知道是否是浏览器一旦范围错误,谷歌浏览器不能够继续执行,而其他的浏览器能继续。
另外,看了一下你的源代码,是否,一旦出错,就关闭了连接?
然后0.13可以,0.14.1却不行,不知道何故?

<!-- gh-comment-id:358530914 --> @kmfxq commented on GitHub (Jan 18, 2018): 检查过了,谷歌返回的都是 http://...../router/sys_time_show.cgi ERR_INVALID_HTTP_RESPONSE, http://xxxxx/router/wanport_real_show.cgi ERR_INVALID_HTTP_RESPONSE, 估计是磊科的CGI有点问题,但是直接用谷歌浏览器在内网访问没有问题,通过FRPC就有 不知道是否是浏览器一旦范围错误,谷歌浏览器不能够继续执行,而其他的浏览器能继续。 另外,看了一下你的源代码,是否,一旦出错,就关闭了连接? 然后0.13可以,0.14.1却不行,不知道何故?
Author
Owner

@kmfxq commented on GitHub (Jan 18, 2018):

在内网中,所有的浏览器都可以正常显示和控制,也没有出现问题。

<!-- gh-comment-id:358531687 --> @kmfxq commented on GitHub (Jan 18, 2018): 在内网中,所有的浏览器都可以正常显示和控制,也没有出现问题。
Author
Owner

@fatedier commented on GitHub (Jan 18, 2018):

这样我就无法提供帮助了,需要你自己排查定位下你的内网服务为什么拒绝了这个请求。

<!-- gh-comment-id:358555668 --> @fatedier commented on GitHub (Jan 18, 2018): 这样我就无法提供帮助了,需要你自己排查定位下你的内网服务为什么拒绝了这个请求。
Author
Owner

@kmfxq commented on GitHub (Jan 30, 2018):

对比了0.13 和 0.13以上版本的源代码,发现0.13版本没有newhttp.go模块,
将日志改为warn
0.13以上版本都出现下面的警告:
2018/01/31 00:01:11 [W] [newhttp.go:189] http: proxy error: net/http: HTTP/1.x transport connection broken: malformed HTTP response "{"ntp":"-8
","year":"2018","month":"1","day":"31","time":"0:1:11","week":"3","work_mode":"0"}"
2018/01/31 00:01:12 [W] [newhttp.go:189] http: proxy error: net/http: HTTP/1.x transport connection broken: malformed HTTP response "[{"port":"
WAN1","link_state":"up","conf_speed_state":"auto","real_speed_state":"100f"},{"port":"LAN1","link_state":"down","conf_speed_
state":"auto","real_speed_state":"0h"},{"port":"LAN2","link_state":"up","conf_speed_state":"auto","real_speed_state":"100f"
},{"port":"LAN3","link_state":"up","conf_speed_state":"auto","real_speed_state":"100f"},{"port":"LAN4","link_state":"down"
,"conf_speed_state":"auto","real_speed_state":"0h"}]"
2018/01/31 00:01:12 [W] [newhttp.go:189] http: proxy error: net/http: HTTP/1.x transport connection broken: malformed HTTP response "{"ntp":"-8
","year":"2018","month":"1","day":"31","time":"0:1:12","week":"3","work_mode":"0"}"
2018/01/31 00:01:13 [W] [newhttp.go:189] http: proxy error: net/http: HTTP/1.x transport connection broken: malformed HTTP response "{"ntp":"-8
","year":"2018","month":"1","day":"31","time":"0:1:13","week":"3","work_mode":"0"}"

不知道这个是否给出了相关提示,疑问就是为何0.13以下版本可以,以上版本都不行了,谢谢

<!-- gh-comment-id:361641893 --> @kmfxq commented on GitHub (Jan 30, 2018): 对比了0.13 和 0.13以上版本的源代码,发现0.13版本没有newhttp.go模块, 将日志改为warn 0.13以上版本都出现下面的警告: 2018/01/31 00:01:11 [W] [newhttp.go:189] http: proxy error: net/http: HTTP/1.x transport connection broken: malformed HTTP response "{\"ntp\":\"-8 \",\"year\":\"2018\",\"month\":\"1\",\"day\":\"31\",\"time\":\"0:1:11\",\"week\":\"3\",\"work_mode\":\"0\"}" 2018/01/31 00:01:12 [W] [newhttp.go:189] http: proxy error: net/http: HTTP/1.x transport connection broken: malformed HTTP response "[{\"port\":\" WAN1\",\"link_state\":\"up\",\"conf_speed_state\":\"auto\",\"real_speed_state\":\"100f\"},{\"port\":\"LAN1\",\"link_state\":\"down\",\"conf_speed_ state\":\"auto\",\"real_speed_state\":\"0h\"},{\"port\":\"LAN2\",\"link_state\":\"up\",\"conf_speed_state\":\"auto\",\"real_speed_state\":\"100f\" },{\"port\":\"LAN3\",\"link_state\":\"up\",\"conf_speed_state\":\"auto\",\"real_speed_state\":\"100f\"},{\"port\":\"LAN4\",\"link_state\":\"down\" ,\"conf_speed_state\":\"auto\",\"real_speed_state\":\"0h\"}]" 2018/01/31 00:01:12 [W] [newhttp.go:189] http: proxy error: net/http: HTTP/1.x transport connection broken: malformed HTTP response "{\"ntp\":\"-8 \",\"year\":\"2018\",\"month\":\"1\",\"day\":\"31\",\"time\":\"0:1:12\",\"week\":\"3\",\"work_mode\":\"0\"}" 2018/01/31 00:01:13 [W] [newhttp.go:189] http: proxy error: net/http: HTTP/1.x transport connection broken: malformed HTTP response "{\"ntp\":\"-8 \",\"year\":\"2018\",\"month\":\"1\",\"day\":\"31\",\"time\":\"0:1:13\",\"week\":\"3\",\"work_mode\":\"0\"}" 不知道这个是否给出了相关提示,疑问就是为何0.13以下版本可以,以上版本都不行了,谢谢
Author
Owner

@fatedier commented on GitHub (May 2, 2018):

你的内网服务响应的 http 的结果可能没有完全遵守 http 协议。这种服务建议使用 tcp 的方式做映射。

<!-- gh-comment-id:386035294 --> @fatedier commented on GitHub (May 2, 2018): 你的内网服务响应的 http 的结果可能没有完全遵守 http 协议。这种服务建议使用 tcp 的方式做映射。
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#449
No description provided.