404 | NOT FOUND - missing random files in /images/icons/?

Hi,

When login in, just after authenticate, getting 404 not found errors for one of these files:

/images/icons/arrow-circle-up.svg
/images/icons/map-marked.svg
/images/icons/server.svg

If I’m trying again, it’s ok… it happened only after logging out, closing the browser and logging in again.
Using the latest version of Google Chrome.

Output of ./validate.php

Component Version
LibreNMS 21.10.0-95-g1ff48018f
DB Schema 2021_10_20_224207_increase_length_of_attrib_type_column (224)
PHP 7.4.3
Python 3.8.10
MySQL 10.3.31-MariaDB-0ubuntu0.20.04.1
RRDTool 1.7.2
SNMP NET-SNMP 5.8

====================================

[OK] Composer Version: 2.1.11
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct

Any ideas? Thanks in advance!

How do you know you’re getting error 404 for these files ? Are you using the Chrome source inspector ?

What do you see on the normal web page without using the inspector, just an empty box where an image should be ?

I don’t have any of those 3 files present in my /opt/librenms/html/images/ directory so I have no idea what they might be used for… what are the images supposed to be ?

Well, that’s the message I’m getting in the center of the screen:

image

Yes I get that too if I paste in the exact URL linking directly to the image that doesn’t exist… but why would you ?

As I said, I don’t have those files either. What does the page look like when you try to log in normally ?

I am trying to log in normally… I’m just starting the browser, login to the LibreNMS host FQDN, enter the user and the password, and getting those error messages.

I am experiencing the exact same problem. I can’t figure out why nginx is serving those files as a result of the login. Those files do not exist in the images folder. I am using the latest version of chrome.

Here’s what my nginx configuration file for librenms looks like:

# Main https://librenms.vlan10.home-cos server

# Redirect http://librenms.vlan10.home-cos requests to https://librenms.vlan10.home-cos

server {
listen 80;
listen [::]:80;
server_name librenms.vlan10.home-cos;
return 301 https://librenms.vlan10.home-cos$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name librenms.vlan10.home-cos;
root /opt/librenms/html;
index index.php;

access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;

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;

ssl_certificate /config/auth//librenms.crt;
ssl_certificate_key /config/auth//librenms.key;

ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

ssl_protocols TLSv1.2;
ssl_ciphers ‘ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256’;
ssl_prefer_server_ciphers on;

add_header Strict-Transport-Security max-age=15768000;

ssl_stapling off;
ssl_stapling_verify off;

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:/run/php-fpm-librenms.sock;
}

location ~ /.ht {
deny all;
}

location /nginx-status {
stub_status on;
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;
allow 127.0.0.1;
deny all;
}

}

Looking at the chrome log, I see a few things I do not understand.

When a https request goes out for the librenms site, it comes back with the IP address but with a 302 code, meaning a temporary redirect. I am not sure why it is coming back with the 302 code since the only redirect I have setup is http to https (with a 301).

I also see the login page request go from a GET to a POST, which also got a 302. It is the reply to the POST that comes back with the 404

  1. Request URL:

https://librenms.vlan10.home-cos/login

  1. Request Method:

POST

  1. Status Code:

302

  1. Remote Address:

192.168.10.252:443

  1. Referrer Policy:

strict-origin-when-cross-origin

  1. Request URL:

https://librenms.vlan10.home-cos/images/icons/server.svg

  1. Request Method:

GET

  1. Status Code:

404

  1. Remote Address:

192.168.10.252:443

  1. Referrer Policy:

strict-origin-when-cross-origin

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.