-
Notifications
You must be signed in to change notification settings - Fork 329
Description
I am trying to upgrade Iroh from 0.34.0 to 0.92.0 and iroh-relay from 0.28.1 to iroh-relay 0.92.0 at the same time.
Client update is here: chatmail/core#7267
Relay I have updated manually by downloading release binary and installing it on a VPS.
iroh-relay is running behind nginx.
Previously this setup with iroh-relay proxied behind nginx worked. I updated nginx config and added /ping endpoint:
# Proxy to iroh-relay service.
location /relay {
proxy_pass http://127.0.0.1:3340;
proxy_http_version 1.1;
# Upgrade header is normally set to "iroh derp http" or "websocket".
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /relay/probe {
proxy_pass http://127.0.0.1:3340;
proxy_http_version 1.1;
}
location /ping {
proxy_pass http://127.0.0.1:3340;
proxy_http_version 1.1;
}
location /generate_204 {
proxy_pass http://127.0.0.1:3340;
proxy_http_version 1.1;
}
However, the connection without DNS discovery and IP address sharing does not work currently, so I tried to see why using iroh-doctor.
I cloned iroh-doctor main branch (at commit n0-computer/iroh-doctor@236d378) and configured iroh:
cat ~/.config/iroh/iroh.config.toml
[[relay_nodes]]
url = "https://example.org./"
I cleaned ~/.local/share/iroh to make sure there is no existing key configuration or anything like that.
I then ran iroh-doctor from source using RUST_LOG=debug cargo run accept --disable-discovery and RUST_LOG=debug cargo run connect --relay-url https://example.org./ <redacted> --disable-discover (the key printed by first command). It did not connect.
The first command (iroh-doctor accept) printed this to the logs:
2025-10-03T00:24:02.482602Z WARN ep{me=ca75ec9fa5}:actor:reportgen.actor:run-probe{proto=Https delay=400ms relay_node=RelayNode { url: RelayUrl("https://example.org./"), quic: Some(RelayQuicConfig { port: 7842 }) }}: iroh::net_report::reportgen: probe failed: Failed to run HTTPS probe
I see this is failing while trying to use QUIC over port 7842. I understand it fails because nobody listens on port 7842.
Still, there is a source field in the error:
iroh/iroh/src/net_report/reportgen.rs
Lines 459 to 460 in 9c8540f
| #[snafu(display("Failed to run HTTPS probe"))] | |
| Https { source: MeasureHttpsLatencyError }, |
I think it should be printed somewhere, that would make it easier to understand the problem (connection failure, or wrong HTTP code, or something else) without having to guess.
Related problem showing how the errors look like:
#3377
Metadata
Metadata
Assignees
Labels
Type
Projects
Status