mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 16:15:49 -06:00
[GH-ISSUE #1716] HTTP Request missed #1355
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#1355
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @DamianSheldon on GitHub (Mar 23, 2020).
Original GitHub issue: https://github.com/fatedier/frp/issues/1716
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 将会直接关闭。)
(请不要在 issue 评论中出现无意义的 加1,我也是 等内容,将会被直接删除。)
(由于个人精力有限,和系统环境,网络环境等相关的求助问题请转至其他论坛或社交平台。)
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)?
./frpc -v
0.29.0
./frps -v
0.29.0
What operating system and processor architecture are you using (
go env)?Server
Linux hwsrv-623939.hostwindsdns.com 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u3 (2017-08-15) x86_64 GNU/Linux
Client
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/meiliang/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.9/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.9/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/0m/jkq6xdsn4nnd19v_zv9ysfn80000gn/T/go-build220713519=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
Configures you used:
frps.ini
[common]
bind_port = 48559
vhost_http_port = 8008
frpc.ini
[common]
server_addr = 104.168.142.56
server_port = 48559
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 8080
custom_domains = www.tenneshop.com
Steps to reproduce the issue:
1.Get Request http://www.tenneshop.com:8008/resources/apks/Instagram_v133.0.0.32.120_apkpure.com.apk
Describe the results you received:
http request missed
Describe the results you expected:
local server receive the http request
Additional information you deem important (e.g. issue happens only occasionally):
If I change Request http://www.tenneshop.com:8008/resources/apks/Instagram_v133.0.0.32.120_apkpure.com.apk to
http://www.tenneshop.com:8008/resources/apks/Instagram.apk it works.
Problem caused by Instagram_v133.0.0.32.120_apkpure.com.apk
Can you point out what caused this issue (optional)
May be there is a bug on handle url.
@fatedier commented on GitHub (Mar 26, 2020):
Please paste more log and releated info.
@DamianSheldon commented on GitHub (Mar 26, 2020):
frps.log
2020/03/26 08:48:54 [T] [service.go:270] start check TLS connection...
2020/03/26 08:48:54 [T] [service.go:278] success check TLS connection
2020/03/26 08:48:54 [I] [service.go:356] client login info: ip [218.76.35.18:63956] version [0.29.0] hostname [] os [darwin] arch [amd64]
2020/03/26 08:48:54 [I] [tcp.go:65] [f984db7bbce2245d] [ssh] tcp proxy listen port [6000]
2020/03/26 08:48:54 [I] [control.go:406] [f984db7bbce2245d] new proxy [ssh] success
2020/03/26 08:48:54 [I] [http.go:91] [f984db7bbce2245d] [web] http proxy listen for host [www.tenneshop.com] location [] group []
2020/03/26 08:48:54 [I] [control.go:406] [f984db7bbce2245d] new proxy [web] success
2020/03/26 08:48:54 [D] [control.go:197] [f984db7bbce2245d] new work connection registered
2020/03/26 08:49:24 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:49:54 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:50:24 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:50:32 [D] [control.go:224] [f984db7bbce2245d] get work connection from pool
2020/03/26 08:50:32 [I] [proxy.go:84] [f984db7bbce2245d] [web] get a new work connection: [218.76.35.18:63956]
2020/03/26 08:50:32 [D] [control.go:197] [f984db7bbce2245d] new work connection registered
2020/03/26 08:50:32 [W] [http.go:95] do http proxy request error: context canceled
2020/03/26 08:50:54 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:51:24 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:51:54 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:52:24 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:52:54 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:53:24 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:53:54 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:54:24 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
2020/03/26 08:54:54 [D] [control.go:418] [f984db7bbce2245d] receive heartbeat
frpc.log
2020/03/26 16:48:51 [I] [service.go:234] login to server success, get run id [f984db7bbce2245d], server udp port [0]
2020/03/26 16:48:51 [I] [proxy_manager.go:144] [f984db7bbce2245d] proxy added: [ssh web]
2020/03/26 16:48:51 [T] [proxy_wrapper.go:164] [f984db7bbce2245d] [ssh] change status from [new] to [wait start]
2020/03/26 16:48:51 [T] [proxy_wrapper.go:164] [f984db7bbce2245d] [web] change status from [new] to [wait start]
2020/03/26 16:48:52 [I] [control.go:153] [ssh] start proxy success
2020/03/26 16:48:52 [I] [control.go:153] [web] start proxy success
2020/03/26 16:49:21 [D] [control.go:269] send heartbeat to server
2020/03/26 16:49:22 [D] [control.go:290] receive heartbeat from server
2020/03/26 16:49:51 [D] [control.go:269] send heartbeat to server
2020/03/26 16:49:52 [D] [control.go:290] receive heartbeat from server
2020/03/26 16:50:21 [D] [control.go:269] send heartbeat to server
2020/03/26 16:50:22 [D] [control.go:290] receive heartbeat from server
2020/03/26 16:50:30 [D] [proxy_wrapper.go:225] [web] start a new work connection, localAddr: 192.168.8.119:63956 remoteAddr: 104.168.142.56:48559
2020/03/26 16:50:30 [D] [proxy.go:556] [web] join connections, localConn(l[127.0.0.1:64073] r[127.0.0.1:8080]) workConn(l[192.168.8.119:63956] r[104.168.142.56:48559])
2020/03/26 16:50:30 [D] [proxy.go:564] [web] join connections closed
2020/03/26 16:50:51 [D] [control.go:269] send heartbeat to server
2020/03/26 16:50:52 [D] [control.go:290] receive heartbeat from server
2020/03/26 16:51:21 [D] [control.go:269] send heartbeat to server
2020/03/26 16:51:22 [D] [control.go:290] receive heartbeat from server
2020/03/26 16:51:51 [D] [control.go:269] send heartbeat to server
2020/03/26 16:51:52 [D] [control.go:290] receive heartbeat from server
2020/03/26 16:52:21 [D] [control.go:269] send heartbeat to server
2020/03/26 16:52:22 [D] [control.go:290] receive heartbeat from server
When reproduce the issue to collect log, I notice a more strange thing. Local server can receive
the first request but server's response missed, subsequence request and response are all missed.
first request log from Spring Boot's /actuator/httptrace:
request log from postman:
@fatedier commented on GitHub (Mar 29, 2020):
Are you sure
http://www.tenneshop.com:8008/resources/apks/Instagram_v133.0.0.32.120_apkpure.com.apkandhttp://www.tenneshop.com:8008/resources/apks/Instagram.apkare the same file?@DamianSheldon commented on GitHub (Mar 29, 2020):
Yes, because I doubt it caused by file extension, so I make a copy with the short name.
@fatedier commented on GitHub (Mar 29, 2020):
Is it possible your local service not handle the URLs in the same way?
frps just redirect your request to frpc, not care about the URL.
@DamianSheldon commented on GitHub (Mar 29, 2020):
I also feel it strange, but if I access from local, two URLs are work.
@fatedier commented on GitHub (Mar 30, 2020):
Try to expose it as a tcp proxy and test if there are still problems.
@DamianSheldon commented on GitHub (Mar 30, 2020):
How to configure? It seems no usage in readme, I fail after several try.
@fatedier commented on GitHub (Mar 30, 2020):
just like ssh your configured.
@DamianSheldon commented on GitHub (Mar 30, 2020):
Local server can receive request with /resources/apks/Instagram_v133.0.0.32.120_apkpure.com.apk, but still fail to write out response after change to tcp proxy./resources/apks/Instagram.apk works as expected.
HEAD method log:
@DamianSheldon commented on GitHub (Mar 30, 2020):
curl logs:
$ curl --head http://www.tenneshop.com:4000/resources/apks/Instagram.apk
HTTP/1.1 200
Last-Modified: Mon, 23 Mar 2020 03:36:10 GMT
Accept-Ranges: bytes
Content-Type: application/vnd.android.package-archive
Content-Length: 30340577
Date: Mon, 30 Mar 2020 06:45:40 GMT
$ curl --head http://www.tenneshop.com:4000/resources/apks/Instagram_v133.0.0.32.120_apkpure.com.apk
curl: (56) Recv failure: Connection reset by peer
$ curl --head http://localhost:8080/resources/apks/Instagram_v133.0.0.32.120_apkpure.com.apk
HTTP/1.1 200
Last-Modified: Sun, 22 Mar 2020 13:21:58 GMT
Accept-Ranges: bytes
Content-Type: application/vnd.android.package-archive
Content-Length: 30340577
Date: Mon, 30 Mar 2020 06:54:50 GMT
$ curl --head http://localhost:8080/resources/apks/Instagram.apk
HTTP/1.1 200
Last-Modified: Mon, 23 Mar 2020 03:36:10 GMT
Accept-Ranges: bytes
Content-Type: application/vnd.android.package-archive
Content-Length: 30340577
Date: Mon, 30 Mar 2020 06:55:17 GMT
httptrace logs:
@fatedier commented on GitHub (Apr 1, 2020):
No idea. Try to sniffer packages to debug.