[fatedier/frp]网站连接间歇性中断问题

2020-01-15 791 views
5

frps::0.31 linux_amd64 frpc:0.31 linux_amd64 What operating system and processor architecture are you using (go env)?

服务器端:Debian 9 客户端:Debian 9

Configures you used: 服务端配置:

[common]
bind_port = 4489
vhost_https_port=1443
vhost_http_port= 1445
vhost_http_timeout = 300
custom_404_page = /usr/local/frp/404.html
max_pool_count = 5
token = 0721
log_file = /var/log/frps/frps.log
log_level = info
log_max_days = 3

客户端配置:

[common]
server_addr = x.x.x.x
server_port = 4489
token = 0721
login_fail_exit = false
tls_enable = true
log_file = /xxx/frp/frpc.log
log_level = info
log_max_days = 3
pool_count = 1

[secret_ssh_xxxx]
# If the type is secret tcp, remote_port is useless
# Who want to connect local port should deploy another frpc with stcp proxy and role is visitor
type = stcp
# sk used for authentication for visitors
sk = mbsy0516yp
local_ip = 127.0.0.1
local_port = 3389
use_encryption = true
use_compression = true

[xxx-web]
type = http
local_ip = 127.0.0.1
local_port = 8089 
use_compression = true
custom_domains = www.xxx.com

Steps to reproduce the issue:

  1. 在一直正常浏览网站过程中没发现这个问题。 2.偶尔间歇性的会突然出现无法连接。

Describe the results you received: 间歇性的出现中断,并在几分钟后重新恢复连接。

Additional information you deem important (e.g. issue happens only occasionally): 服务端日志:

2020/01/15 13:52:33 [W] [http.go:95] do http proxy request error: context canceled
2020/01/15 13:52:41 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:41 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:41 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:42 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:42 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:42 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:43 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:43 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:43 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:43 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:43 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:43 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:49 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:49 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:49 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:49 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:49 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:49 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:52 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:52 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:52 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:54 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:54 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:54 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:57 [W] [control.go:266] [f29a702f2a33af34] timeout trying to get work connection
2020/01/15 13:52:57 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: timeout trying to get work connection
2020/01/15 13:52:57 [W] [http.go:95] do http proxy request error: timeout trying to get work connection
2020/01/15 13:52:58 [I] [control.go:305] [f29a702f2a33af34] control writer is closing
2020/01/15 13:52:58 [I] [proxy.go:76] [f29a702f2a33af34] [xxx-web] proxy closing
2020/01/15 13:52:58 [I] [proxy.go:76] [f29a702f2a33af34] [xxx-mysql] proxy closing
2020/01/15 13:52:58 [I] [proxy.go:76] [f29a702f2a33af34] [secret_ssh_xxxx] proxy closing
2020/01/15 13:52:58 [I] [control.go:383] [f29a702f2a33af34] client exit success
2020/01/15 13:52:58 [W] [control.go:260] [f29a702f2a33af34] no work connections avaiable, control is closed
2020/01/15 13:52:58 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: control is closed
2020/01/15 13:52:58 [W] [http.go:95] do http proxy request error: control is closed
2020/01/15 13:52:58 [W] [control.go:260] [f29a702f2a33af34] no work connections avaiable, control is closed
2020/01/15 13:52:58 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: control is closed
2020/01/15 13:52:58 [W] [http.go:95] do http proxy request error: control is closed
2020/01/15 13:52:58 [W] [control.go:260] [f29a702f2a33af34] no work connections avaiable, control is closed
2020/01/15 13:52:58 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: control is closed
2020/01/15 13:52:58 [W] [http.go:95] do http proxy request error: control is closed
2020/01/15 13:52:58 [W] [control.go:260] [f29a702f2a33af34] no work connections avaiable, control is closed
2020/01/15 13:52:58 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: control is closed
2020/01/15 13:52:58 [W] [http.go:95] do http proxy request error: control is closed
2020/01/15 13:52:58 [W] [control.go:260] [f29a702f2a33af34] no work connections avaiable, control is closed
2020/01/15 13:52:58 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: control is closed
2020/01/15 13:52:58 [W] [http.go:95] do http proxy request error: control is closed
2020/01/15 13:52:58 [W] [control.go:260] [f29a702f2a33af34] no work connections avaiable, control is closed
2020/01/15 13:52:58 [W] [proxy.go:89] [f29a702f2a33af34] [xxx-web] failed to get work connection: control is closed
2020/01/15 13:52:58 [W] [http.go:95] do http proxy request error: control is closed
2020/01/15 13:52:58 [I] [proxy.go:147] [f29a702f2a33af34] [secret_ssh_xxxx] listener is closed
2020/01/15 13:53:00 [W] [http.go:95] do http proxy request error: no such domain: www.xxx.com /xxx/xxx/1445
2020/01/15 13:53:58 [I] [service.go:392] [f29a702f2a33af34] client login info: ip [1.1.1.1:3442] version [0.31.0] hostname [] os [linux] arch [amd64]
2020/01/15 13:53:58 [I] [http.go:92] [f29a702f2a33af34] [xxx-web] http proxy listen for host [www.xxx.com] location [] group []
2020/01/15 13:53:58 [I] [control.go:445] [f29a702f2a33af34] new proxy [xxx-web] success

客户端日志(客户端时间比服务端快2分20秒):

2020/01/15 01:02:44 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 01:02:44 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 01:02:44 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 01:25:33 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 01:25:33 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 01:25:33 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 06:10:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 06:10:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 06:10:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 06:10:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 06:10:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 06:10:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 06:10:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 06:10:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 08:45:26 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 08:45:26 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 08:45:59 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:16:38 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:39:58 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 09:40:35 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:00:54 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:00:54 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:00:54 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:00:54 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:11:39 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:11:39 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:18:54 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:23:23 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:23:23 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:23:23 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:23:23 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:23:23 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:23:23 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:28:51 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:34:19 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:35:16 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:45:34 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:47:17 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:53:28 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 10:53:28 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:11:18 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:27:37 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:27:37 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:27:37 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:29:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:29:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:32:46 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 11:36:27 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 12:03:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 12:03:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 12:03:09 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 12:31:59 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 12:54:15 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 12:54:15 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:25:52 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:45:24 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:46:44 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [I] [control.go:251] [f29a702f2a33af34] control writer is closing
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:54:47 [I] [service.go:148] [f29a702f2a33af34] try to reconnect to server...
2020/01/15 13:54:47 [I] [service.go:250] [f29a702f2a33af34] login to server success, get run id [f29a702f2a33af34], server udp port [0]
2020/01/15 13:54:47 [I] [proxy_manager.go:144] [f29a702f2a33af34] proxy added: [xxx-web secret_ssh_xxxx]
2020/01/15 13:54:47 [I] [control.go:164] [f29a702f2a33af34] [xxx-web] start proxy success
2020/01/15 13:54:47 [I] [control.go:164] [f29a702f2a33af34] [secret_ssh_xxxx] start proxy success
2020/01/15 13:55:58 [I] [control.go:251] [f29a702f2a33af34] control writer is closing
2020/01/15 13:55:58 [I] [service.go:148] [f29a702f2a33af34] try to reconnect to server...
2020/01/15 13:55:58 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 13:56:08 [W] [service.go:151] [f29a702f2a33af34] reconnect to server error: dial tcp: lookup www.xxx.com on 127.0.1.1:53: read udp 127.0.0.1:36269->127.0.1.1:53: i/o timeout
2020/01/15 13:56:09 [I] [service.go:148] [f29a702f2a33af34] try to reconnect to server...
2020/01/15 13:56:19 [W] [service.go:151] [f29a702f2a33af34] reconnect to server error: dial tcp: lookup www.xxx.com on 127.0.1.1:53: read udp 127.0.0.1:55679->127.0.1.1:53: i/o timeout
2020/01/15 13:56:21 [I] [service.go:148] [f29a702f2a33af34] try to reconnect to server...
2020/01/15 13:56:31 [W] [service.go:151] [f29a702f2a33af34] reconnect to server error: dial tcp: lookup www.xxx.com on 127.0.1.1:53: read udp 127.0.0.1:33573->127.0.1.1:53: i/o timeout
2020/01/15 13:56:35 [I] [service.go:148] [f29a702f2a33af34] try to reconnect to server...
2020/01/15 13:56:45 [W] [service.go:151] [f29a702f2a33af34] reconnect to server error: dial tcp: lookup www.xxx.com on 127.0.1.1:53: read udp 127.0.0.1:50696->127.0.1.1:53: i/o timeout
2020/01/15 13:56:53 [I] [service.go:148] [f29a702f2a33af34] try to reconnect to server...
2020/01/15 13:56:58 [I] [service.go:250] [f29a702f2a33af34] login to server success, get run id [f29a702f2a33af34], server udp port [0]
2020/01/15 13:56:58 [I] [proxy_manager.go:144] [f29a702f2a33af34] proxy added: [secret_ssh_xxxx xxx-web]
2020/01/15 13:56:58 [I] [control.go:164] [f29a702f2a33af34] [secret_ssh_xxxx] start proxy success
2020/01/15 13:56:58 [I] [control.go:164] [f29a702f2a33af34] [xxx-web] start proxy success
2020/01/15 14:02:43 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 14:08:36 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 14:09:33 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF
2020/01/15 14:13:46 [E] [control.go:147] [f29a702f2a33af34] work connection closed before response StartWorkConn message: EOF

回答

1

确认下自身的网络环境没有问题,看起来中间 DNS 查询请求也失败了。

8

遇到相同的问题,网络线路质量问题排除,因为用同一个服务器科学上网,一直很流畅。

3

@moralrebuild 网络问题不能因为其他应用正常就排除,最好放在单机上试验,屏蔽掉外网环境这一层,才能比较好区别,frp 的协议很多场景下会被检测,甚至断开连接。

如果单机环境仍然有问题,说明不是网络问题。否则,建议也可以尝试外层再套一层 kcptun 做一下加密,且通过 udp 来传输,看是否仍然会有问题。

2

同遇到这个问题,换回0.30一切正常