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

Reply via email to