F5 is upgrading its customer support chat feature on My.F5.com. Chat support will be unavailable from 6am-10am PST on 1/20/26. Refer to K000159584 for details.

Forwarding Logs to SIEM Tools via HTTP Proxy for F5 Distributed Cloud Global Log Receiver

Purpose

This guide provides a solution for forwarding logs to SIEM tools that support syslog but lack HTTP/HTTPS ingestion capabilities. It covers the deployment and tuning of an HTTP Proxy log receiver configured to work with F5 Distributed Cloud (XC) Global Log Receiver settings.

Audience:

This guide is intended for technical professionals, including SecOps teams and Solution Architects, who are responsible for integrating SIEM tools with F5 XC Global Log Receiver. Readers should have a solid understanding of HTTP communication (methods, request body, reverse proxy), syslog, and data center network architecture. Familiarity with F5 XC concepts such as namespaces, log types, events, and XC-GLR is also required.

Introduction:

  • Problem Statement:

    SIEM tools often support syslog ingestion but lack HTTP/HTTPS log reception capabilities.
  • Objective:

    Explain how to deploy and configure an HTTP Proxy to forward logs to F5 Distributed Cloud Global Log Receiver.

Solution Overview:

Architecture Diagram and workflow:

 

Configuration Steps:

  • Configure Global Log Receiver in F5 Distributed Cloud Console
    • Navigate to:
      Home → Shared Configuration → Global Log Receiver
    • Create or edit the Global Log Receiver settings for HTTP receiver
    • Ensure the Global Log Receiver batch size is based on the payload size expected from F5 NGINX.
    • Example configuration snap:
  • Set Up NGINX as an HTTP Log Receiver
    • Install NGINX on your designated server.
    • Configure log_format
    • Configure NGINX to accept HTTP POST requests only and forward access logs to syslog
    • Example configuration snippet:

log_format custom_log_format_1 escape=json $request_body; # Example: include request body only

server {
    listen 443 ssl;
    server_name <logreceiver_server_name>;

    ssl_certificate /etc/ssl/<logreceiver_server_cert>;
    ssl_certificate_key /etc/ssl/<logreceiver_server_key>;

    # Other SSL/TLS configurations (e.g., protocols, ciphers)
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    client_body_in_single_buffer on; # The directive is recommended when using the $request_body variable, to save the number of copy operations involved
    client_body_in_file_only off; #default
    client_max_body_size 32M; # based on tuning 
    gzip on;


    location /log_endpoint {
        # Allow only POST requests for sending log data
        limit_except POST { deny all; }

        # Configure access_log to write incoming data to a file
       # access_log /var/log/nginx/log_receiver.log custom_log_format_1;
        access_log syslog:server=127.0.0.1:514,facility=local7,tag=nginx,severity=info custom_log_format_1;

	proxy_pass http://localhost:8091/; # This dummy Internal server required to collect request_body variable.
    }
}

# dummy internal server to respond back 200 ok
server {
   listen 8091;
   server_name localhost;

  location / {
	  return 200 "Log received successfully.";
  }
}

 

  • Set Up rsyslog server
    • Install/configure rsyslog on your designated server.
    • Configure 60-nginx.conf file in /etc/rsyslog.d/ directory
    • Sample 60-nginx.conf file
#nginx.* @@127.0.0.1:514
:syslogtag, isequal, "[nginx]" /var/log/nginx-syslog/nginx-access-log.log

 

References:

F5 Distributed Cloud Global log receiver supports many log receivers natively:

F5 Distributed Cloud Technical Knowledge page on "Configure Global Log receiver"

Prerequisites:

  • An external log collection system reachable publicly.
  • The following IP address ranges are required to be added to your firewall's allowlist:
    • 193.16.236.64/29
    • 185.160.8.152/29

 

Published Dec 08, 2025
Version 1.0
No CommentsBe the first to comment