Grafana behind nginx reverse proxy on subpath

  • What Grafana version and what operating system are you using?

Grafana version 12.1.1 (docker) on ubuntu 22

  • What are you trying to achieve?

we want to deploy grafana behind a reverse nginx proxy with a subpath

  • How are you trying to achieve it?

by configuring nginx:

 location /grafana/ {
   proxy_pass http://grafana:3000/;
   proxy_set_header X-Forwarded-Host $host;
   proxy_set_header X-Forwarded-Server $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

and using docker compose:

version: '3.9'
services:
  grafana:
    image: grafana/grafana
    user: root
    container_name: grafana
    restart: unless-stopped
    environment:
      - GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN_USER}
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
      - GRAFANA_DB_USER=${GRAFANA_DB_USER}
      - GRAFANA_DB_PASSWORD=${GRAFANA_DB_PASSWORD}
      - GF_SERVER_ROOT_URL=https://example.com/grafana/
      # as per documentation behind a reverse proxy this should be set to false
      - GF_SERVER_SERVE_FROM_SUB_PATH=false
    volumes:
      - '/data/grafana/:/var/lib/grafana'
      - './dashboards:/var/lib/grafana/dashboards'
      - './datasource.yml/:/etc/grafana/provisioning/datasources/datasource.yaml'
      - './dashboard.yml/:/etc/grafana/provisioning/dashboards/dashboard.yaml'
    expose:
      - 3000
  • What happened?
    when trying to access grafana through https://example.com/grafa I am getting redirected to https://example.com/grafana/login and the following message is displayed:


    trying to go to any other page redirects to this message

  • What did you expect to happen?
    The login to appear

  • Did you follow any online instructions? If so, what is the URL?
    only official documentation

I would try:

- GF_SERVER_SERVE_FROM_SUB_PATH=true

with

proxy_pass http://grafana:3000/grafana;
# maybe proxy_pass http://grafana:3000/grafana/;

that still results in the Grafana error message: Page not found

Provide debug logs for nginx and Grafana for that 404 response. pls

grafana logs:

logger=accesscontrol t=2025-09-04T06:18:19.759285943Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(licensing:read server.stats:read)"
logger=accesscontrol t=2025-09-04T06:18:19.760005489Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:dashboards:read scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.760098358Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(folders:read folders:create dashboards:read dashboards:create)"
logger=accesscontrol t=2025-09-04T06:18:19.760129037Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:datasources:explore scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.76016532Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:datasources:explore scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.760199736Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.rules:read alert.rules.external:read)"
logger=accesscontrol t=2025-09-04T06:18:19.760229876Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.notifications:read alert.notifications.external:read alert.notifications.receivers:read alert.notifications.receivers.secrets:read alert.notifications.receivers:create alert.notifications.templates:read alert.notifications.templates:write alert.notifications.templates:delete)"
logger=accesscontrol t=2025-09-04T06:18:19.760265412Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.notifications:read alert.notifications.external:read alert.notifications.routes:read alert.notifications.routes:write alert.notifications.time-intervals:read alert.notifications.time-intervals:write)"
logger=accesscontrol t=2025-09-04T06:18:19.760289956Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.instances:read alert.instances.external:read alert.silences:read)"
logger=accesscontrol t=2025-09-04T06:18:19.760327612Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.instances:read alert.instances.external:read)"
logger=accesscontrol t=2025-09-04T06:18:19.760350571Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.rules:create alert.rules.external:write)"
logger=accesscontrol t=2025-09-04T06:18:19.760557893Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(datasources:create all of datasources:read, any of datasources:delete, datasources:write)"
logger=accesscontrol t=2025-09-04T06:18:19.760759401Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(all of orgs:read, orgs:write all of orgs.preferences:read, orgs.preferences:write)"
logger=accesscontrol t=2025-09-04T06:18:19.760880412Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:settings:read scopes:settings:*"
logger=context userId=0 orgId=0 uname= t=2025-09-04T06:18:19.761026321Z level=debug msg="Failed to authenticate user in global scope" error="[auth.identity.unsupported] invalid identity type"
logger=accesscontrol t=2025-09-04T06:18:19.761148356Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:migrationassistant:migrate scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.761641083Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(plugins:write plugins:install)"
logger=accesscontrol t=2025-09-04T06:18:19.761692939Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:datasources:explore scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.761732843Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(org.users:read users:read)"
logger=accesscontrol t=2025-09-04T06:18:19.761786715Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(teams:create all of teams:read, any of teams:write, teams.permissions:write, teams.permissions:read)"
logger=accesscontrol t=2025-09-04T06:18:19.761878766Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(serviceaccounts:read serviceaccounts:create)"
logger=accesscontrol t=2025-09-04T06:18:19.761990267Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(settings:read settings:write settings:read settings:write settings:read settings:write settings:read settings:write settings:read settings:write settings:read settings:write)"
logger=accesscontrol t=2025-09-04T06:18:19.762105268Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(support.bundles:read support.bundles:create)"
logger=accesscontrol t=2025-09-04T06:18:19.762938196Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:plugins.app:access scopes:plugins:id:grafana-exploretraces-app"
logger=accesscontrol t=2025-09-04T06:18:19.762986221Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:plugins.app:access scopes:plugins:id:grafana-lokiexplore-app"
logger=accesscontrol t=2025-09-04T06:18:19.763009784Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:plugins.app:access scopes:plugins:id:grafana-metricsdrilldown-app"
logger=accesscontrol t=2025-09-04T06:18:19.763039565Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:plugins.app:access scopes:plugins:id:grafana-pyroscope-app"
logger=accesscontrol t=2025-09-04T06:18:19.763094694Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(dashboards:create folders:create)"
logger=ngalert.scheduler t=2025-09-04T06:18:20.000741232Z level=debug msg="Alert rules fetched" rulesCount=0 foldersCount=0 updatedRules=0
´´´
nginx logs:
´´´
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/login HTTP/2.0" 200 12488 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/grafana.app.236e53eabc3f6ade9d45.css HTTP/2.0" 200 4169 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/grafana.dark.23c5425b7a9e1580d499.css HTTP/2.0" 200 19557 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/runtime.f411d9fd17caf2c61dab.js HTTP/2.0" 200 47484 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
2025/09/04 06:39:15 [warn] 30#30: *384 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/7/01/0000000017 while reading upstream, client: 10.0.128.45, server: , request: "GET /grafana/public/build/7777.6c4200e47d2cb766b7e6.js HTTP/2.0", upstream: "http://192.168.0.11:3000/grafana/public/build/7777.6c4200e47d2cb766b7e6.js", host: "example.com", referrer: "https://example.com/grafana/login"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/6029.0549a3fcb50e73c4b256.js HTTP/2.0" 200 409895 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
2025/09/04 06:39:15 [warn] 30#30: *384 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/8/01/0000000018 while reading upstream, client: 10.0.128.45, server: , request: "GET /grafana/public/build/9414.e32d7f44873b22e671c7.js HTTP/2.0", upstream: "http://192.168.0.11:3000/grafana/public/build/9414.e32d7f44873b22e671c7.js", host: "example.com", referrer: "https://example.com/grafana/login"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/2033.bec9d44fd0b4a0c196a7.js HTTP/2.0" 200 883468 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/5923.236359203b24de0f1036.js HTTP/2.0" 200 226245 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/app.e299abd209cd47ad567d.js HTTP/2.0" 200 730761 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/7777.6c4200e47d2cb766b7e6.js HTTP/2.0" 200 3305782 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/9414.e32d7f44873b22e671c7.js HTTP/2.0" 200 3515562 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/9521.aebc20b87e49c19da182.js HTTP/2.0" 200 425555 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/img/apple-touch-icon.png HTTP/2.0" 200 15718 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/img/fav32.png HTTP/2.0" 200 1118 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/4691.86dfd29f65064d78c506.js HTTP/2.0" 200 4239 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/static/img/grafana_icon.1e0deb6b.svg HTTP/2.0" 200 5690 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/fonts/inter/Inter-Regular.woff2 HTTP/2.0" 200 108488 "https://example.com/grafana/login?forceLogin=true" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/fonts/inter/Inter-Medium.woff2 HTTP/2.0" 200 111380 "https://example.com/grafana/login?forceLogin=true" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"

grafana logs:

logger=accesscontrol t=2025-09-04T06:18:19.759285943Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(licensing:read server.stats:read)"
logger=accesscontrol t=2025-09-04T06:18:19.760005489Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:dashboards:read scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.760098358Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(folders:read folders:create dashboards:read dashboards:create)"
logger=accesscontrol t=2025-09-04T06:18:19.760129037Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:datasources:explore scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.76016532Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:datasources:explore scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.760199736Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.rules:read alert.rules.external:read)"
logger=accesscontrol t=2025-09-04T06:18:19.760229876Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.notifications:read alert.notifications.external:read alert.notifications.receivers:read alert.notifications.receivers.secrets:read alert.notifications.receivers:create alert.notifications.templates:read alert.notifications.templates:write alert.notifications.templates:delete)"
logger=accesscontrol t=2025-09-04T06:18:19.760265412Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.notifications:read alert.notifications.external:read alert.notifications.routes:read alert.notifications.routes:write alert.notifications.time-intervals:read alert.notifications.time-intervals:write)"
logger=accesscontrol t=2025-09-04T06:18:19.760289956Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.instances:read alert.instances.external:read alert.silences:read)"
logger=accesscontrol t=2025-09-04T06:18:19.760327612Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.instances:read alert.instances.external:read)"
logger=accesscontrol t=2025-09-04T06:18:19.760350571Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(alert.rules:create alert.rules.external:write)"
logger=accesscontrol t=2025-09-04T06:18:19.760557893Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(datasources:create all of datasources:read, any of datasources:delete, datasources:write)"
logger=accesscontrol t=2025-09-04T06:18:19.760759401Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(all of orgs:read, orgs:write all of orgs.preferences:read, orgs.preferences:write)"
logger=accesscontrol t=2025-09-04T06:18:19.760880412Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:settings:read scopes:settings:*"
logger=context userId=0 orgId=0 uname= t=2025-09-04T06:18:19.761026321Z level=debug msg="Failed to authenticate user in global scope" error="[auth.identity.unsupported] invalid identity type"
logger=accesscontrol t=2025-09-04T06:18:19.761148356Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:migrationassistant:migrate scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.761641083Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(plugins:write plugins:install)"
logger=accesscontrol t=2025-09-04T06:18:19.761692939Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:datasources:explore scopes:"
logger=accesscontrol t=2025-09-04T06:18:19.761732843Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(org.users:read users:read)"
logger=accesscontrol t=2025-09-04T06:18:19.761786715Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(teams:create all of teams:read, any of teams:write, teams.permissions:write, teams.permissions:read)"
logger=accesscontrol t=2025-09-04T06:18:19.761878766Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(serviceaccounts:read serviceaccounts:create)"
logger=accesscontrol t=2025-09-04T06:18:19.761990267Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(settings:read settings:write settings:read settings:write settings:read settings:write settings:read settings:write settings:read settings:write settings:read settings:write)"
logger=accesscontrol t=2025-09-04T06:18:19.762105268Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(support.bundles:read support.bundles:create)"
logger=accesscontrol t=2025-09-04T06:18:19.762938196Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:plugins.app:access scopes:plugins:id:grafana-exploretraces-app"
logger=accesscontrol t=2025-09-04T06:18:19.762986221Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:plugins.app:access scopes:plugins:id:grafana-lokiexplore-app"
logger=accesscontrol t=2025-09-04T06:18:19.763009784Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:plugins.app:access scopes:plugins:id:grafana-metricsdrilldown-app"
logger=accesscontrol t=2025-09-04T06:18:19.763039565Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="action:plugins.app:access scopes:plugins:id:grafana-pyroscope-app"
logger=accesscontrol t=2025-09-04T06:18:19.763094694Z level=debug msg="No permissions set" id=:0 orgID=0 permissions="any(dashboards:create folders:create)"
logger=ngalert.scheduler t=2025-09-04T06:18:20.000741232Z level=debug msg="Alert rules fetched" rulesCount=0 foldersCount=0 updatedRules=0

nginx logs:

10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/login HTTP/2.0" 200 12488 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/grafana.app.236e53eabc3f6ade9d45.css HTTP/2.0" 200 4169 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/grafana.dark.23c5425b7a9e1580d499.css HTTP/2.0" 200 19557 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/runtime.f411d9fd17caf2c61dab.js HTTP/2.0" 200 47484 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
2025/09/04 06:39:15 [warn] 30#30: *384 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/7/01/0000000017 while reading upstream, client: 10.0.128.45, server: , request: "GET /grafana/public/build/7777.6c4200e47d2cb766b7e6.js HTTP/2.0", upstream: "http://192.168.0.11:3000/grafana/public/build/7777.6c4200e47d2cb766b7e6.js", host: "example.com", referrer: "https://example.com/grafana/login"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/6029.0549a3fcb50e73c4b256.js HTTP/2.0" 200 409895 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
2025/09/04 06:39:15 [warn] 30#30: *384 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/8/01/0000000018 while reading upstream, client: 10.0.128.45, server: , request: "GET /grafana/public/build/9414.e32d7f44873b22e671c7.js HTTP/2.0", upstream: "http://192.168.0.11:3000/grafana/public/build/9414.e32d7f44873b22e671c7.js", host: "example.com", referrer: "https://example.com/grafana/login"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/2033.bec9d44fd0b4a0c196a7.js HTTP/2.0" 200 883468 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/5923.236359203b24de0f1036.js HTTP/2.0" 200 226245 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:15 +0000] "GET /grafana/public/build/app.e299abd209cd47ad567d.js HTTP/2.0" 200 730761 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/7777.6c4200e47d2cb766b7e6.js HTTP/2.0" 200 3305782 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/9414.e32d7f44873b22e671c7.js HTTP/2.0" 200 3515562 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/9521.aebc20b87e49c19da182.js HTTP/2.0" 200 425555 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/img/apple-touch-icon.png HTTP/2.0" 200 15718 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/img/fav32.png HTTP/2.0" 200 1118 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/4691.86dfd29f65064d78c506.js HTTP/2.0" 200 4239 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/build/static/img/grafana_icon.1e0deb6b.svg HTTP/2.0" 200 5690 "https://example.com/grafana/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/fonts/inter/Inter-Regular.woff2 HTTP/2.0" 200 108488 "https://example.com/grafana/login?forceLogin=true" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"
10.0.128.45 - - [04/Sep/2025:06:39:16 +0000] "GET /grafana/public/fonts/inter/Inter-Medium.woff2 HTTP/2.0" 200 111380 "https://example.com/grafana/login?forceLogin=true" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0" "-"

there is no 404 response in your logs, everything works fine based on your logs. Clear browser cache.

Clearing the cache does not make a difference :frowning: