F5 Virtual Server Configuration for Web Proxy

Configured SSL Offloading for F5. Everything works fine with the webservice except when I click on the bubbles over sites. Without going through the proxy, the bubbles expand correctly to show all the devices at a site. With the proxy, I just receive the errors:

Uncaught TypeError: Cannot read properties of null (reading '_layerAdd')
    at e.addLayer (<anonymous>:5:65312)
    at e.getRenderer (<anonymous>:5:124939)
    at e.beforeAdd (<anonymous>:5:75816)
    at e.addLayer (<anonymous>:5:65467)
    at e._animationSpiderfy (<anonymous>:1:29779)
    at e.spiderfy (<anonymous>:1:27421)
    at e._zoomOrSpiderfy (<anonymous>:1:11219)
    at e.fire (<anonymous>:5:16829)
    at e.fire (<anonymous>:1:10283)
    at e._propagateEvent (<anonymous>:5:17549)

Here’s my irule for the Virtual Server

when HTTP_REQUEST {
            STREAM::disable
            HTTP::header remove "Accept-Encoding"
        }
        when HTTP_RESPONSE {
            if { [HTTP::header value Content-Type] contains "text"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "application"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "image"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "javascript"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "json"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "css"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "svg"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "png"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "xml"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
            if { [HTTP::header value Content-Type] contains "/"} {
                STREAM::expression {@http://@https://@}
                STREAM::enable
            }
        }

Here’s my nginx config:

server {
 listen      80;
 server_name server.domain.org;
 root        /opt/librenms/html;
 index       index.php;

 charset utf-8;
 gzip on;
 gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
 location / {

 add_header 'Content-Security-Policy' 'upgrade-insecure-requests';
  try_files $uri $uri/ /index.php?$query_string;
 }
 location ~ [^/]\.php(/|$) {

 add_header 'Content-Security-Policy' 'upgrade-insecure-requests';

  fastcgi_pass unix:/run/php-fpm-librenms.sock;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  include fastcgi.conf;
 }
 location ~ /\.(?!well-known).* {
  deny all;
 }
}

What do you mean bubbles?

These bubbles, they expand normally normally on the backend server but don’t function through the F5.