[GH-ISSUE #5809] [FR] separate acme / tls certificate for reverse-proxy https and l4 (tcp/udp) feature #11097

Open
opened 2026-08-05 01:28:28 -04:00 by saavagebueno · 2 comments
Owner

Originally created by @Kariton on GitHub (Apr 6, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5809

Originally assigned to: @jnfrati on GitHub.

Is your feature request related to a problem? Please describe.

I want to separate https and layer4 proxy features into individual containers.

I have Traefik as http/s reverse-proxy in front of the netbirdio/reverse-proxy to benefit from crowdsec appsec, log parsing and blocking.
(NB_PROXY_ACME_CERTIFICATES=false, custom certificate is provided via NB_PROXY_CERTIFICATE_DIRECTORY, TLS and LE are managed by Traefik for domains i want to use.)
With that my reverse-proxy isnt connect to host network. In fact i only publish port 51820:51820/udp via iptables/nftables.

If i would add the l4 port ranges, the docker startup is cumbersome and takes ages because docker is inherently bad at opening large ranges of ports.
Default TCP and UDP ranges (10000-49151) summarized are 78302 individual iptabels/nftables rules.

I want to run my https reverse-proxy behind Traefik and a second instance, with host networking, for l4 features.
This is currently not possible because the reverse-proxy bind the NB_PROXY_ADDRESS (default: :443; container default :8443) 443 is assigned to Traefik and 8443 is only docker internal.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Configuration for individual reverse-proxy features like:
NB_PROXY_ENABLE_HTTPS
NB_PROXY_ENABLE_UDP
NB_PROXY_ENABLE_TCP

Those could default to true.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

I cannot think of a real solution.
From the container perspective it would be possible to setup the l4 reverse-proxy with a high port for NB_PROXY_ADDRESS and block that in the host firewall.
But i dont know how and if netbird would / could understand that somehow and not use this reverse proxy for HTTPS itself.
But what about the l4 ports in the https reverse-proxy?

Using Traefik for l4 port ranges isnt a feasible setup either: https://github.com/traefik/traefik/issues/11381 https://github.com/traefik/traefik/issues/1677

Additional context
Add any other context or screenshots about the feature request here.

Originally created by @Kariton on GitHub (Apr 6, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5809 Originally assigned to: @jnfrati on GitHub. **Is your feature request related to a problem? Please describe.** I want to separate https and layer4 proxy features into individual containers. I have Traefik as http/s reverse-proxy in front of the `netbirdio/reverse-proxy` to benefit from crowdsec appsec, log parsing and blocking. (`NB_PROXY_ACME_CERTIFICATES=false`, custom certificate is provided via `NB_PROXY_CERTIFICATE_DIRECTORY`, TLS and LE are managed by Traefik for domains i want to use.) With that my reverse-proxy isnt connect to host network. In fact i only publish port `51820:51820/udp` via iptables/nftables. If i would add the l4 port ranges, the docker startup is cumbersome and takes ages because docker is inherently bad at opening large ranges of ports. Default TCP and UDP ranges (10000-49151) summarized are 78302 individual iptabels/nftables rules. I want to run my https reverse-proxy behind Traefik and a second instance, with host networking, for l4 features. This is currently not possible because the reverse-proxy bind the `NB_PROXY_ADDRESS` (default: `:443`; container default `:8443`) `443` is assigned to Traefik and `8443` is only docker internal. **Describe the solution you'd like** A clear and concise description of what you want to happen. Configuration for individual reverse-proxy features like: `NB_PROXY_ENABLE_HTTPS` `NB_PROXY_ENABLE_UDP` `NB_PROXY_ENABLE_TCP` Those could default to `true`. **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. I cannot think of a real solution. From the container perspective it would be possible to setup the l4 reverse-proxy with a high port for `NB_PROXY_ADDRESS` and block that in the host firewall. But i dont know how and if netbird would / could understand that somehow and not use this reverse proxy for HTTPS itself. But what about the l4 ports in the https reverse-proxy? Using Traefik for l4 port ranges isnt a feasible setup either: https://github.com/traefik/traefik/issues/11381 https://github.com/traefik/traefik/issues/1677 **Additional context** Add any other context or screenshots about the feature request here.
saavagebueno added the feature-request label 2026-08-05 01:28:28 -04:00
Author
Owner

@Kariton commented on GitHub (Apr 6, 2026):

Dont know why i didnt came up with this solution earlier:
Bind NB_PROXY_ADDRESS to localhost only and use network_mode: host.
still use Traefik for https...

remaining problem:
letsencrypt for l4 tls tunnel because ive disabled acme to use my static one between netbird reverse-proxy and Traefil

<!-- gh-comment-id:4195510499 --> @Kariton commented on GitHub (Apr 6, 2026): Dont know why i didnt came up with this solution earlier: Bind `NB_PROXY_ADDRESS` to localhost only and use `network_mode: host`. still use Traefik for https... remaining problem: letsencrypt for l4 tls tunnel because ive disabled acme to use my static one between netbird reverse-proxy and Traefil
Author
Owner

@jnfrati commented on GitHub (Apr 7, 2026):

@Kariton just to double check, the feature request would be to allow separate deployment of L7 and L4 proxy by having separate instances for each? Or being able to provide two config sets for tls certs one for L7 and another for L4?

<!-- gh-comment-id:4198107613 --> @jnfrati commented on GitHub (Apr 7, 2026): @Kariton just to double check, the feature request would be to allow separate deployment of L7 and L4 proxy by having separate instances for each? Or being able to provide two config sets for tls certs one for L7 and another for L4?
Sign in to join this conversation.
No Label feature-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#11097