WZ-IT Logo

NetBird Reverse Proxy: Securely Expose Internal Services to the Internet

Timo Wevelsiep
Timo Wevelsiep
#NetBird #ReverseProxy #WireGuard #ZeroTrust #VPN #SelfHosted #TLS #SSO #OpenSource #MeshVPN
NetBird Reverse Proxy: Securely Expose Internal Services to the Internet

NetBird has released the Reverse Proxy – a feature that fundamentally changes self-hosted setups: Internal services can now be exposed directly to the internet through the WireGuard mesh network, without port forwarding, without firewall rules, with automatic TLS and optional authentication.

Enterprise VPN Flatrate: We offer Managed NetBird at a fixed price – unlimited users & devices, hosted in Germany. Try free for 14 days →

Table of Contents


What is the NetBird Reverse Proxy?

The NetBird Reverse Proxy exposes internal services running on peers or behind network resources to the public internet. NetBird handles:

  • TLS termination with automatic Let's Encrypt certificates or custom certificates
  • Optional authentication via SSO (OIDC), password, or PIN
  • Traffic routing through encrypted WireGuard tunnels to the target service

The target service needs no public IP address and no open ports. It only needs to be reachable within the NetBird network.

Status: The feature is currently in beta and only available for self-hosted deployments. Cloud support is coming soon (Documentation).


How does it work?

The flow for an incoming request:

  1. Create a service → NetBird provisions a public domain with a TLS certificate
  2. HTTPS request to the domain → TLS termination at the NetBird proxy cluster
  3. WireGuard tunnel → The request is forwarded through the encrypted tunnel to the target peer
  4. Response follows the same path back

Core Concepts

Concept Description
Service Configuration unit: maps a public domain to internal targets
Target Destination within the NetBird network: Peer, Host (IP), Domain, or Subnet
Domain Public URL – auto-generated (cluster) or custom domain

Each service can have multiple targets for path-based routing. Targets support HTTP and HTTPS as backend protocols.


Authentication: SSO, Password and PIN

Each service can be protected with one or more authentication methods:

Method Description
SSO (Single Sign-On) Authentication via configured identity provider (OIDC). Optionally restricted to specific groups.
Password Protection with a shared password
PIN Code Protection with a numeric code
No authentication Service is publicly accessible (warning displayed in dashboard)

Multiple methods can be enabled simultaneously – users choose their preferred method when accessing the service.

For organisations with existing IdP integration (Keycloak, Azure AD, Okta, Google Workspace), SSO is the natural choice: employees authenticate with their existing credentials, and group-based restrictions provide granular access control.


Self-Hosted Setup

Self-hosted deployments require a separate proxy instance (netbirdio/netbird-proxy) that connects to the management server via gRPC.

Prerequisites

  • Traefik as reverse proxy (TLS passthrough required – other proxies like Nginx or Caddy do not support this in the required form)
  • At least one connected peer or a configured network with resources
  • NetBird account with 'Services' permission ('Network Admin' role or higher)

Quick Start

If you deployed NetBird from v0.65.0 onwards using the official setup script (getting-started.sh) with the Traefik option, the proxy container is already included in your Docker Compose stack. Skip straight to creating a service.

For existing deployments, there is a migration guide covering the process: generate an access token, add the proxy container with Traefik labels, set up wildcard DNS.

TLS Certificates

The proxy supports two modes:

ACME (Let's Encrypt):

NB_PROXY_ACME_CERTIFICATES=true
NB_PROXY_ACME_CHALLENGE_TYPE=tls-alpn-01  # or http-01

Static certificates (wildcard or corporate CA):

NB_PROXY_CERTIFICATE_FILE=tls.crt
NB_PROXY_CERTIFICATE_KEY_FILE=tls.key
NB_PROXY_CERTIFICATE_DIRECTORY=./certs

Static certificates support hot-reload – when files change on disk, the proxy picks them up automatically without restart.

High Availability

Multiple proxy instances configured with the same NB_PROXY_DOMAIN value form a cluster. If one instance goes down, the remaining instances continue serving traffic. Each instance independently connects to the management server.


Creating a Service: Step-by-Step

Step 1: Create a Service

In the NetBird dashboard, navigate to Reverse Proxy → Services → Add Service.

Step 2: Configure Details

  • Choose a subdomain (e.g., grafana)
  • Select a base domain (cluster domain or custom domain)
  • Add a target: type (Peer, Host, Domain, Subnet), protocol (HTTP/HTTPS), port
  • Optional: path for path-based routing

Step 3: Authentication

In the "Authentication" tab:

  • Enable SSO and optionally restrict to groups
  • Set a password and/or PIN
  • Or leave all disabled for public access

Step 4: Advanced Settings

In the "Settings" tab:

  • Pass Host Header – forward the original Host header to the backend (useful when the application needs to know the public domain)
  • Rewrite Redirects – rewrite Location headers in backend responses to replace internal URLs

Step 5: Create the Service

After creation, the service progresses through these statuses:

Status Meaning
pending Service is being provisioned
certificate_pending TLS certificate is being issued
active Service is live
tunnel_not_created WireGuard tunnel to target not yet established
certificate_failed Certificate issuance failed

Path-Based Routing and Multi-Target

A service can have multiple targets with different path prefixes:

Path Target Description
/ Peer A (port 3000) Main web application
/api Peer B (port 8080) API service
/docs Resource C (port 80) Documentation

This consolidates multiple internal services under a single domain – fewer domains, fewer certificates, centralised authentication.

Additionally, the Networks integration provides an "Expose Service" button directly on resources in the Networks view. One click opens the service dialogue with the resource pre-populated as a target.


NetBird Reverse Proxy vs. Alternatives

Aspect NetBird RP Cloudflare Tunnel ngrok Pangolin Nginx/Traefik
Self-Hosted Yes No No Yes Yes
Automatic TLS Yes Yes Yes Yes Manual/ACME
SSO/Auth built-in Yes (OIDC) Yes (Access) Yes (Edge) Basic Auth No
WireGuard Tunnel Yes No No Yes No
Mesh VPN integrated Yes No No No No
Port forwarding needed No No No No Yes
Open Source Yes No No Yes Yes
Data sovereignty 100% Cloudflare infra ngrok infra 100% 100%

The key advantage of NetBird: Reverse proxy and mesh VPN come from a single platform. If you already use NetBird for secure network access, you get the reverse proxy without additional infrastructure. With Cloudflare Tunnel or ngrok, traffic flows through external servers – with NetBird, everything stays on your own infrastructure.


Use Cases

Publish Internal Dashboards

Make Grafana, ThingsBoard, or monitoring dashboards accessible to customers or partners – with SSO protection and without requiring a VPN client on the other side.

Share Staging Environments

Share developer previews or QA environments via PIN or password, without setting up VPN access.

Expose IoT Platforms

Securely publish IoT dashboards and APIs running on internal servers – relevant for platforms like merkaio that provide customer access to sensor data.

Receive Webhooks

Internal services can receive webhooks from GitHub, Stripe, or other providers without needing a public IP.

Temporary Demo Access

PIN or password protection enables time-limited access to internal applications – ideal for demos or proof-of-concepts.


Limitations (Beta)

The feature is in beta with the following limitations:

  • Self-hosted only: Cloud support has been announced but is not yet available
  • Traefik required: Other reverse proxies (Nginx, Caddy, HAProxy) are not supported, as TLS passthrough is required
  • No pre-shared key / Rosenpass: Networks relying on these features cannot currently use the reverse proxy

Our Services

As an experienced NetBird partner, we provide setup and operations support:

Managed NetBird including Reverse Proxy

  • Self-hosted deployment on Hetzner or your own infrastructure
  • Reverse proxy configuration with custom domains and SSO
  • Integration with existing identity provider (Keycloak, Azure AD, Okta)

VPN Flatrate

Managed NetBird at a fixed price – unlimited users and devices, no per-seat pricing. Hosted on German servers.

→ VPN Flatrate: Try free for 14 days


Further Reading

Frequently Asked Questions

Answers to important questions about this topic

The NetBird Reverse Proxy is a new feature that exposes internal services to the public internet through the WireGuard mesh network. NetBird handles TLS termination, optional authentication (SSO, password, PIN), and routes incoming traffic through encrypted WireGuard tunnels to the target service – without open ports or firewall changes.

No. The target service needs neither a public IP address nor open ports. Traffic is routed through the existing WireGuard tunnel established by the NetBird agent. Only the proxy instance itself requires port 443 (and optionally port 80 for ACME HTTP-01).

The Reverse Proxy supports SSO (Single Sign-On via OIDC with optional group restrictions), password protection, and PIN code. Multiple methods can be enabled simultaneously. A warning is displayed when no authentication is configured.

Currently, the Reverse Proxy is only available for self-hosted deployments (beta). Cloud support has been announced and will be added in a future release.

Yes. In addition to auto-generated cluster domains (subdomain.proxy-domain), custom domains can be configured via CNAME record pointing to the proxy cluster address. All domain types receive automatic TLS certificates.

The NetBird Reverse Proxy is fully self-hosted and open source – all data stays on your own infrastructure. Cloudflare Tunnel routes traffic through Cloudflare's servers. NetBird additionally provides an integrated WireGuard mesh VPN, so reverse proxy and network access come from a single platform.

Timo Wevelsiep

Written by

Timo Wevelsiep

Co-Founder & CEO

Co-Founder of WZ-IT. Specialized in cloud infrastructure, open-source platforms and managed services for SMEs and enterprise clients worldwide.

LinkedIn

Let's Talk About Your Idea

Whether a specific IT challenge or just an idea – we look forward to the exchange. In a brief conversation, we'll evaluate together if and how your project fits with WZ-IT.

E-Mail
[email protected]

Trusted by leading companies

  • Rekorder
  • Keymate
  • Führerscheinmacher
  • SolidProof
  • ARGE
  • Boese VA
  • NextGym
  • Maho Management
  • Golem.de
  • Millenium
  • Paritel
  • Yonju
  • EVADXB
  • Mr. Clipart
  • Aphy
  • Negosh
  • ABCO Water
Timo Wevelsiep & Robin Zins - CEOs of WZ-IT

Timo Wevelsiep & Robin Zins

CEOs of WZ-IT

1/3 – Topic Selection33%

What is your inquiry about?

Select one or more areas where we can support you.