This is an automated email from the ASF dual-hosted git repository.
jason810496 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 29510e45cd3 fix localhost access regression in dual-stack API server
startup (#67370)
29510e45cd3 is described below
commit 29510e45cd3aee7df5ba0ed32424d3e1f4f003c3
Author: Zhen-Lun (Kevin) Hong <[email protected]>
AuthorDate: Mon May 25 22:41:20 2026 +0800
fix localhost access regression in dual-stack API server startup (#67370)
---
scripts/in_container/bin/generate_mprocs_config.py | 4 +++-
scripts/in_container/bin/run_tmux | 6 +++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/scripts/in_container/bin/generate_mprocs_config.py
b/scripts/in_container/bin/generate_mprocs_config.py
index cc8a9e3999a..5e0e3a11edc 100755
--- a/scripts/in_container/bin/generate_mprocs_config.py
+++ b/scripts/in_container/bin/generate_mprocs_config.py
@@ -71,7 +71,9 @@ def generate_mprocs_config() -> str:
# forwards both IPv4 and IPv6 host ports into the container). The
default `0.0.0.0`
# binds IPv4 only, causing the IPv6 attempt to land inside the
container with no
# listener and TCP RST → opaque chrome-error://chromewebdata/ page.
- api_host_arg = "--host '::'"
+
+ # If host is empty or None, uvicorn listens on all available (IPv4 and
IPv6) interfaces.
+ api_host_arg = "--host ''"
if get_env_bool("BREEZE_DEBUG_APISERVER"):
port = get_env("BREEZE_DEBUG_APISERVER_PORT", "5679")
api_cmd = (
diff --git a/scripts/in_container/bin/run_tmux
b/scripts/in_container/bin/run_tmux
index b13ee81289a..3dc190e0e46 100755
--- a/scripts/in_container/bin/run_tmux
+++ b/scripts/in_container/bin/run_tmux
@@ -70,13 +70,13 @@ if [[ ! ${USE_AIRFLOW_VERSION=} =~ ^2\..* ]]; then
# IPv4 and IPv6 host ports into the container). The default `0.0.0.0`
binds IPv4 only.
if [[ ${BREEZE_DEBUG_APISERVER} == "true" ]]; then
tmux set-option -p @airflow_component "API Server(Debug Mode)"
- tmux send-keys "debugpy --listen
0.0.0.0:${BREEZE_DEBUG_APISERVER_PORT} --wait-for-client -m airflow api-server
--host '::' -d" C-m
+ tmux send-keys "debugpy --listen
0.0.0.0:${BREEZE_DEBUG_APISERVER_PORT} --wait-for-client -m airflow api-server
--host '' -d" C-m
else
tmux set-option -p @airflow_component "API Server"
if [[ ${DEV_MODE=} == "true" ]]; then
- tmux send-keys "airflow api-server --host '::' -d" C-m
+ tmux send-keys "airflow api-server --host '' -d" C-m
else
- tmux send-keys "airflow api-server --host '::'" C-m
+ tmux send-keys "airflow api-server --host ''" C-m
fi
fi
else