Skip to content

How to configure proxy_connect_timeout for TCP services in ingress-nginx v1.12.1? #14139

@carefree666

Description

@carefree666

Hi team,

I'm using ingress-nginx v1.12.1 and have both HTTP and TCP services configured.

For HTTP ingress, we can easily control the connection timeout via the ConfigMap key:

proxy-connect-timeout: "5s"

However, for TCP services (configured through the flag --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services), I cannot find a documented way to set the equivalent stream-level directive proxy_connect_timeout
.

For example, the generated stream configuration looks like this:

server {
listen 25001;
proxy_timeout 600s;
proxy_next_upstream on;
proxy_next_upstream_timeout 600s;
proxy_next_upstream_tries 3;
proxy_pass upstream_balancer;
}

But there’s no proxy_connect_timeout applied by default, which causes long connection stalls when the upstream pod is down (resulting in errors like (111: Connection refused) or (110: Operation timed out)).

I tried setting values like this in the main nginx-configuration ConfigMap:

proxy-connect-timeout: "5s"

…but it only affects the HTTP layer, not the stream (TCP) layer.

My question:

Is there an officially supported way to configure proxy_connect_timeout for TCP/stream services when using --tcp-services-configmap?
If not, is the recommended approach to use the global stream-snippet field in the ConfigMap, or will there be future support for per-service stream configuration?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-kindIndicates a PR lacks a `kind/foo` label and requires one.needs-priorityneeds-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions