No Graphs are showing

I just built a new server. The only difference between normal install and what I have is added SSL to my Librenms environment.

I get the same error: 403 This action is unauthorized.

odd stuff, I still can’t reproduce that. Can you post the output of git status in your LibreNMS directory?

Sure,

librenms@nms:~$ git status
On branch master
Your branch is up to date with ‘origin/master’.

nothing to commit, working tree clean
TIA

here is the status:

librenms@LibreNMS:~$ git status
On branch master
Your branch is up to date with ‘origin/master’.

Untracked files:
(use “git add …” to include in what will be committed)
old.env

nothing added to commit but untracked files present (use “git add” to track)

old.env is just a copy of .env so I can swap some settings.

Note, when I went back to non SSL, graphs re-appeared. But it all worked fine several weeks ago.

Any chance you can make a video of what you’re seeing?

maybe post your web server configuration?

NGINX conf
root@nms:/etc/nginx# more nginx.conf
user www-data;
worker_processes auto;
worker_cpu_affinity auto;
pid /run/nginx.pid;
error_log /var/log/nginx/error.log;
include /etc/nginx/modules-enabled/*.conf;

events {
worker_connections 768;

multi_accept on;

}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    types_hash_max_size 2048;
    #server_tokens off; # Recommended practice is to turn this off

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1.2 TLSv1.3; # Dropping SSLv3 (POODLE), TLS 1.0, 1.1
    ssl_prefer_server_ciphers off; # Don't force server cipher order.

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml applicatio

n/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

}

#mail {

# See sample authentication script at:

# GitHub - nginxinc/nginx-wiki: ARCHIVED -- Source for the now archived NGINX Wiki section of https://www.nginx.com · GitHub

# auth_http localhost/auth.php;

# pop3_capabilities “TOP” “USER”;

# imap_capabilities “IMAP4rev1” “UIDPLUS”;

server {

listen localhost:110;

protocol pop3;

proxy on;

}

server {

listen localhost:143;

protocol imap;

proxy on;

}

#}
root@nms:/etc/nginx#

Site config

root@nms:/etc/nginx/conf.d# more libreconfig.conf
server {
listen 443 ssl;
ssl_certificate /etc/nginx/certs/2026.pem;
ssl_password_file /etc/nginx/certs/script;
ssl_certificate_key /etc/nginx/certs/2026.key;
ssl_protocols TLSv1.2;
server_name .com;
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 t
ext/xsd text/xml image/x-icon;

proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;

location / {
try_files $uri $uri/ /index.php?query_string;
}
location /api/v0 {
try_files $uri $uri/ /api_v0.php?query_string;
}
location ~ .php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php-fpm-librenms.sock;
}
location ~ /.ht {
deny all;
}
}

Recording 2026-08-13 155421

Can’t record at the minute but hope this helps

Config:

server {
listen 80;
server_name librenms.xxxx.xxx;
return 301 https://$server_name$request_uri; #
}

server {
listen 443 ssl;
server_name librenms.xxxx.xxx;
root /opt/librenms/html;
index index.php;
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;

ssl_certificate /etc/ssl/certs/librenms.crt;
ssl_certificate_key /etc/ssl/private/librenms.key;

# Recommendation: Enable strict TLS
ssl_protocols TLSv1.2 TLSv1.3;

charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plan text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?query_string;
}
location ~ [^/].php(/|$) {
fastcgi_pass unix:/run/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+.php)(/.+)$;
include fastcgi.conf;
}

location /phpmyadmin {
rewrite ^/pnpmyadmin/(.)$ /phpmyadmin/$1 break;
try_files $uri $uri/ /phpmyadmin/index.php?query_string;
}
location ~ /.(?!well-known). {
deny all;
}
}

Hover over device on device list page

Device Page

If I go back to HTTP, everything works.
As a side note, another issue i have been having when I am on a Network switches ports page, basic or detail I doesn’t change pages like: /device/6/ports?perPage=32&page=2 It still shows ports starting at Gi1/0/1. If i use HTTP, paging there works fine.

Oh, good call out. Check the web console for errors. There are possibly links using http…

Is this actually what you have? it is missing $ in $query_string

Duuude .. sweet !! the update broke the config and don’t know how. Added $ on the librenms.conf and is now working !!! Thanks a lot

location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
location ~ .php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php-fpm-librenms.sock;
}
location ~ /.ht {
deny all;
}
}

That was the trick. Thank you so much for the trial and assistance.

It is all working now.

The update didn’t break the configuration, it was broken all along. :slight_smile:

It just exposed it because graphs now use regular query strings more instead of the path encoded query strings like they used to.

Probably a lot of other stuff in LibreNMS will start working now as well, so good to get it fixed!