fix(nginx): use 127.0.0.1 in python conf to avoid ~1s IPv6 fallback latency (#17909)

## Problem

In the default deployment (`API_PROXY_SCHEME=python`), the nginx config
generated from `docker/nginx/ragflow.conf.python` uses:

```nginx
proxy_pass http://localhost:9381;  # admin
proxy_pass http://localhost:9380;  # api
```

Inside the RAGFlow container, `/etc/hosts` maps `localhost` to both
`127.0.0.1` and `::1`:

```
127.0.0.1   localhost
::1         localhost ip6-localhost ip6-loopback
```

But the backend services (`ragflow_server.py` on 9380, admin server on
9381) only listen on IPv4 (`127.0.0.1`). When nginx resolves `localhost`
to `::1`, the upstream connection fails and nginx falls back to the IPv4
address - each fallback adds ~1 second of latency.

Co-authored-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Yee
2026-08-07 11:32:43 +08:00
committed by GitHub
parent b099c88c3f
commit 27c8b1a061

View File

@@ -11,12 +11,12 @@ server {
gzip_disable "MSIE [1-6]\.";
location ~ ^/api/v1/admin {
proxy_pass http://localhost:9381;
proxy_pass http://127.0.0.1:9381;
include proxy.conf;
}
location ~ ^/(v1|api) {
proxy_pass http://localhost:9380;
proxy_pass http://127.0.0.1:9380;
include proxy.conf;
}