Localhost vapautettu IP-yhteysrajasta, tuotannon raja nostettu 20:een
Kehitysympäristössä (127.0.0.1) ei enää yhteysrajaa — useita selainikkunoita ja native-nodeja voi yhdistää vapaasti. Tuotannossa raja 10→20 per ulkoinen IP. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -518,18 +518,21 @@ async fn ws_handler(
|
|||||||
.and_then(|s| s.trim().parse::<IpAddr>().ok())
|
.and_then(|s| s.trim().parse::<IpAddr>().ok())
|
||||||
.unwrap_or_else(|| addr.ip());
|
.unwrap_or_else(|| addr.ip());
|
||||||
|
|
||||||
// Max yhteyttä per IP: jokainen selain tarvitsee 2 (UI + coder-node)
|
// Max yhteyttä per IP (ei rajoiteta localhost/127.0.0.1)
|
||||||
{
|
{
|
||||||
|
let is_local = ip.is_loopback();
|
||||||
|
if !is_local {
|
||||||
let conns = state.ip_connections.lock().unwrap();
|
let conns = state.ip_connections.lock().unwrap();
|
||||||
let count = conns.get(&ip).copied().unwrap_or(0);
|
let count = conns.get(&ip).copied().unwrap_or(0);
|
||||||
if count >= 10 {
|
if count >= 20 {
|
||||||
tracing::warn!("IP {} ylitti yhteysrajan ({}/10) — estetty", ip, count);
|
tracing::warn!("IP {} ylitti yhteysrajan ({}/20) — estetty", ip, count);
|
||||||
return (
|
return (
|
||||||
axum::http::StatusCode::TOO_MANY_REQUESTS,
|
axum::http::StatusCode::TOO_MANY_REQUESTS,
|
||||||
"Max 10 yhteyttä per IP",
|
"Max 20 yhteyttä per IP",
|
||||||
).into_response();
|
).into_response();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ws.max_message_size(MAX_MESSAGE_SIZE)
|
ws.max_message_size(MAX_MESSAGE_SIZE)
|
||||||
.on_upgrade(move |socket| handle_socket(socket, state, ip))
|
.on_upgrade(move |socket| handle_socket(socket, state, ip))
|
||||||
|
|||||||
Reference in New Issue
Block a user