gRPC/REST TCP sockets cannot be bound to a specific host
@bharatjetti ya está trabajando en esto.
Desde el 24/3/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Feature Request
Describe the problem the feature is intended to solve
The hostname 0.0.0.0 is hardcoded in the source code (with a comment that mistakenly claims that this results in listening on localhost):
I would like to be able to have the gRPC & REST APIs actually listen on localhost/127.0.0.1 so that the APIs are not exposed to the outside.
I'm aware of the option to create a UNIX socket instead using --grpc_socket_path, which I suppose I could proxy to a TCP socket that does listen on localhost. However, there's no such option for the REST API. The only option is to disable it completely by setting --rest_api_port=0.
Describe the solution
I would like there to be new command-line flags to set a hostname for the gRPC & REST APIs to listen on. The existing --port and --rest_api_port arguments could even be extended to accept a string like 127.0.0.1:8500.
Describe alternatives you've considered
The flag --grpc_socket_path is an alternative for the gRPC API, but there is no alternative for the REST API.
Additional context
I want to use this for network security purposes to not expose TensorFlow Serving more than it needs to be.
Temporary workaround
One way to temporarily solve this problem without having to fork TFS is to override the bind call using LD_PRELOAD, for example by using this snippet. You can then have TensorFlow Serving listen on localhost by running it like this:
BIND_ADDR="127.0.0.1" LD_PRELOAD=/bind_override/bind.so tensorflow_model_server --port=8500 --rest_api_port=8501 --model_name=model --model_base_path=/models/model
The log messages will continue to say that TFS is listening on 0.0.0.0, but netstat shows that it will be listening on localhost instead:
$ netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8500 0.0.0.0:* LISTEN 11/tensorflow_model
tcp 0 0 127.0.0.1:8501 0.0.0.0:* LISTEN 11/tensorflow_model
- Lenguaje dominante
- C++
- Estrellas
- 6.4k
- Forks
- 2.2k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de tensorflow/serving
-
gpg key expired Abiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
tensorflow/serving#4150 · 1 comentario · 1 asignado ·
-
stat:awaiting tensorflower type:support
tensorflow/serving#4139 · 1 comentario · 1 asignado ·
-
stat:contributions welcome type:bug
tensorflow/serving#4116 · 1 comentario · 1 asignado ·
-
stat:contributions welcome type:build/install
tensorflow/serving#4108 · 8 comentarios · 1 asignado ·
-
[Docs] Broken Links Abiertostat:contributions welcome type:docs
tensorflow/serving#2255 · 2 comentarios · 1 asignado ·
Todos los issues de tensorflow/serving
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
ros2/message_filters#338 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
subsurface/subsurface#4984 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
google-ai-edge/LiteRT-LM#3739 ·