From 29985cec4e7683bd1fca1d709fd3dd4b81b6401d Mon Sep 17 00:00:00 2001 From: NathanFlurry Date: Tue, 26 Mar 2024 17:03:45 +0000 Subject: [PATCH] fix: only generate path proxied port for https routes (#587) ## Changes --- .../mm/worker/src/workers/lobby_create/mod.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/svc/pkg/mm/worker/src/workers/lobby_create/mod.rs b/svc/pkg/mm/worker/src/workers/lobby_create/mod.rs index 5e61cbc787..6c874975e7 100644 --- a/svc/pkg/mm/worker/src/workers/lobby_create/mod.rs +++ b/svc/pkg/mm/worker/src/workers/lobby_create/mod.rs @@ -639,8 +639,22 @@ async fn create_docker_job( && port.port_range.is_none() }) .flat_map(|port| { - std::iter::once(direct_proxied_port(lobby_id, region, port)) - .chain(std::iter::once(path_proxied_port(lobby_id, region, port))) + let mut ports = vec![direct_proxied_port(lobby_id, region, port)]; + match backend::matchmaker::lobby_runtime::ProxyProtocol::from_i32(port.proxy_protocol) { + Some( + backend::matchmaker::lobby_runtime::ProxyProtocol::Http + | backend::matchmaker::lobby_runtime::ProxyProtocol::Https, + ) => { + ports.push(path_proxied_port(lobby_id, region, port)); + } + Some( + backend::matchmaker::lobby_runtime::ProxyProtocol::Udp + | backend::matchmaker::lobby_runtime::ProxyProtocol::Tcp + | backend::matchmaker::lobby_runtime::ProxyProtocol::TcpTls, + ) + | None => {} + } + ports }) .collect::>>()?;