Connection loop with psic4t/nospeak #48
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nostr/chorus#48
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?
Not sure if this is a chorus or nospeak issue. I'm going to reach out to psic4t as well. If I add my chorus relay to nospeak, it quickly connects and disconnects a bunch of times. I'm going to try adding your chorus relay real quick to see if the same thing happens, so you should see me in your logs shortly. :)
Seems to work fine on yours so it might be something to do with my open_relay false setting though my hex pubkey is set as moderator.
max_connections_per_ip = 25
enable_ip_blocking = false
open_relay = false
hostname = "relay.mydomain.com"
base_url = "https://relay.mydomain.com"
chorus_is_behind_a_proxy = true
It's running behind Caddy
Mar 27 22:05:14 vps2949333 chorus[69326]: [2026-03-27T22:05:14.393Z INFO Server] Running on 127.0.0.1:8080 Mar 27 22:05:22 vps2949333 chorus[69326]: [2026-03-27T22:05:22.523Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42816: TOTAL=1, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:22 vps2949333 chorus[69326]: [2026-03-27T22:05:22.690Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42832: TOTAL=2, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:22 vps2949333 chorus[69326]: [2026-03-27T22:05:22.846Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42840: TOTAL=3, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:22 vps2949333 chorus[69326]: [2026-03-27T22:05:22.995Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42848: TOTAL=4, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:23 vps2949333 chorus[69326]: [2026-03-27T22:05:23.145Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42864: TOTAL=5, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:23 vps2949333 chorus[69326]: [2026-03-27T22:05:23.303Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42870: TOTAL=6, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:23 vps2949333 chorus[69326]: [2026-03-27T22:05:23.459Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42872: TOTAL=7, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:23 vps2949333 chorus[69326]: [2026-03-27T22:05:23.616Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42876: TOTAL=8, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:23 vps2949333 chorus[69326]: [2026-03-27T22:05:23.776Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42888: TOTAL=9, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:23 vps2949333 chorus[69326]: [2026-03-27T22:05:23.926Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42900: TOTAL=10, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:24 vps2949333 chorus[69326]: [2026-03-27T22:05:24.078Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42902: TOTAL=11, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:24 vps2949333 chorus[69326]: [2026-03-27T22:05:24.230Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42914: TOTAL=12, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:24 vps2949333 chorus[69326]: [2026-03-27T22:05:24.387Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42928: TOTAL=13, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:24 vps2949333 chorus[69326]: [2026-03-27T22:05:24.539Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42942: TOTAL=14, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:24 vps2949333 chorus[69326]: [2026-03-27T22:05:24.691Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42950: TOTAL=15, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:24 vps2949333 chorus[69326]: [2026-03-27T22:05:24.844Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42952: TOTAL=16, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:25 vps2949333 chorus[69326]: [2026-03-27T22:05:25.001Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42960: TOTAL=17, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:25 vps2949333 chorus[69326]: [2026-03-27T22:05:25.158Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42970: TOTAL=18, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:25 vps2949333 chorus[69326]: [2026-03-27T22:05:25.306Z INFO Server] E2vOUP1Hj8KVATVmoAjH:42986: TOTAL=19, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:25 vps2949333 chorus[69326]: [2026-03-27T22:05:25.455Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43002: TOTAL=20, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:25 vps2949333 chorus[69326]: [2026-03-27T22:05:25.605Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43016: TOTAL=21, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:25 vps2949333 chorus[69326]: [2026-03-27T22:05:25.770Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43022: TOTAL=22, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:25 vps2949333 chorus[69326]: [2026-03-27T22:05:25.931Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43032: TOTAL=23, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:26 vps2949333 chorus[69326]: [2026-03-27T22:05:26.094Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43048: TOTAL=24, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:26 vps2949333 chorus[69326]: [2026-03-27T22:05:26.248Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43060: TOTAL=25, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:26 vps2949333 chorus[69326]: [2026-03-27T22:05:26.453Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43060: TOTAL=24, Closed, ban=0s Mar 27 22:05:26 vps2949333 chorus[69326]: [2026-03-27T22:05:26.554Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43066: TOTAL=25, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:26 vps2949333 chorus[69326]: [2026-03-27T22:05:26.756Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43066: TOTAL=24, Closed, ban=0s Mar 27 22:05:26 vps2949333 chorus[69326]: [2026-03-27T22:05:26.859Z INFO Server] E2vOUP1Hj8KVATVmoAjH:43068: TOTAL=25, New Connection: https://localhost, Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.0.0 Mobile Safari/537.36 Mar 27 22:05:43 vps2949333 chorus[69326]: [2026-03-27T22:05:43.784Z ERROR Client] H8uEH3QU9zSN3fwGUelY:43072: read header from client timeout, src/lib.rs:74:31Spoke too soon. I am seeing failures with your relay as well.
According to that log, this same IP address (obfuscated as E2vOUP1Hj8KVATVmoAjH) made 24 connections to the relay within 3 seconds and then some got closed (looks like client side closed 2 of them). I see from your note you are allowing 25 connections per IP. So it is hitting this max. That is probably why chorus starts acting mean.
By default max_connections_per_ip is 5. I don't think clients should open one connection per question they want to ask. They should wait for an answer then ask the next question. Nostr doesn't have flow control (bad design). If nostr was built on QUIC like a sane protocol, one stream per request is fine over a single connection, but on HTTP/1.1 it is causing problems.
Chorus is not running HTTP/2. It is using HTTP/1.1. That means no pipelining either, which is probably not ideal. I could imagine chorus might run better on HTTP/2.