Reverse Proxy Access Logs

NetBird logs every request and connection that passes through your reverse proxy services, including both HTTP and L4 (TCP, UDP, TLS) traffic. Access logs provide visibility into who is accessing your services, from where, and whether requests were allowed or denied. This is useful for auditing, debugging, and monitoring traffic to your publicly exposed services.

Viewing access logs

Access logs are available in the NetBird dashboard under Activity > Proxy Events. This view displays a table of all HTTP requests and L4 connections that have passed through your reverse proxy services, with filters to narrow down results by time range, status, or other fields.

Proxy Events table showing reverse proxy access log entries

You can also retrieve access logs programmatically using the API:

GET /api/events/proxy

What access logs capture

Every log entry (HTTP and L4) shares a common set of fields. Some fields are only meaningful for certain protocols.

FieldDescriptionHTTPL4 (TCP/UDP/TLS)
TimestampWhen the request or connection occurredYesYes
Protocolhttp, tcp, udp, or tlsYesYes
MethodHTTP method (GET, POST, etc.). For L4, displays the protocol name.YesProtocol name
Host / URLDomain and path for HTTP. Host and listen port for L4.host/pathhost:port
Status CodeHTTP status code (200, 401, 403, 500, etc.)YesEmpty
DurationRequest or connection duration in millisecondsYesYes
Bytes UploadedBytes sent from client to backendYesYes
Bytes DownloadedBytes sent from backend to clientYesYes
Source IPThe client's IP addressYesYes
LocationCountry, city, and subdivision based on source IP geolocationYesYes
Auth MethodAuthentication method used (SSO, password, PIN, header, or none)YesN/A
UserThe authenticated user's ID (if SSO was used)YesN/A
ReasonReason for denial, if applicableYesYes

Understanding log entries

HTTP log entries

HTTP log entries fall into three categories based on the status code:

  • Allowed requests: successful requests show a 2xx status code along with the authentication method used to access the service.
  • Denied requests: failed authentication or access restriction blocks show 401 or 403 status codes with a reason explaining why the request was denied (e.g., invalid password, missing SSO session, IP restricted, country restricted).
  • Errors: backend errors or proxy issues show 5xx status codes. These typically indicate that the target service is unreachable or returned an error.

L4 log entries

L4 entries are logged when the connection closes and record the total bytes transferred in each direction and the connection duration. L4 entries do not have HTTP status codes.

Denied L4 connections (blocked by access restrictions) are logged immediately with a deny reason. Since L4 services do not support authentication, denials come from access restrictions only.

Deny reasons

The following deny reasons can appear for both HTTP and L4 services:

ReasonDescription
ip_restrictedThe client IP was blocked by a CIDR access restriction
country_restrictedThe client's country was blocked by a country access restriction
geo_unavailableCountry restrictions are configured but the GeoIP database is unavailable (fail-closed)

Use cases

Access logs support several operational and security workflows:

  • Security auditing - Review who accessed sensitive services, which authentication method they used, and from which geographic locations. This helps identify unauthorized access attempts and verify that authentication policies are working as expected.
  • Debugging - Trace failed requests to understand authentication or routing issues. The status code, duration, and reason fields help pinpoint whether problems originate from authentication configuration, target availability, or network connectivity.
  • Monitoring - Track usage patterns across your services. Identify which services receive the most traffic, peak usage times, and unusual access patterns that may warrant investigation.
  • Compliance - Maintain records of service access for regulatory requirements. Access logs provide an auditable trail of who accessed what, when, and from where.