invoiceninja / dockerfiles

Docker files for Invoice Ninja
https://hub.docker.com/r/invoiceninja/invoiceninja
GNU General Public License v2.0
418 stars 268 forks source link

Grey screen after successful setup #529

Open BrieBretzel opened 1 year ago

BrieBretzel commented 1 year ago

Introduction

I'm currently in the process of deploying invoiceninja using docker compose. So far I've encountered quite a lot of issues but so far all have been resolved. The issue I'm stuck on now is one I am unable to resolve.

Environment

Environment info:

docker-compose.yaml

version: '3.7'

networks:
  backend-network:
    name: backend-network
    external: false
    driver: bridge
    ipam:
      config:
        - subnet: 172.32.1.0/24

services:
  nginx-ingress:
    image: nginx:latest
    container_name: nginx-ingress
    volumes:
      - /opt/data/nginx/logs:/var/log/nginx
      - /opt/data/nginx/env:/etc/nginx/conf.d
      - /opt/data/nginx/ssl:/etc/nginx/ssl
    ports:
      - 80:80
      - 443:443
    restart: always
    networks:
      - backend-network

  mysql:
    image: mysql
    container_name: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=yes
      - MYSQL_DATABASE=invoiceninja
      - MYSQL_USER=<user>
      - MYSQL_PASSWORD=<password>
    volumes:
      - /opt/data/mysql/data:/var/lib/mysql
    networks:
      - backend-network

  invoiceninja:
    image: invoiceninja/invoiceninja
    container_name: invoiceninja
    restart: always
    environment:
      - APP_ENV=testing
      - APP_DEBUG=false
      - APP_KEY=base64:<key>
      - APP_CIPHER=AES-256-CBC
      - APP_URL=http://<accounting.domain.com>
      - TRUSTED_PROXIES=172.32.0.0/16
      - REQUIRE_HTTPS=false
      - DB_CONNECTION=mysql
      - DB_HOST=mysql
      - DB_DATABASE=invoiceninja
      - DB_USERNAME=<user>
      - DB_PASSWORD=<password>
    depends_on:
      - nginx-ingress
      - mysql
    networks:
      - backend-network

domain.com.conf

server {
    listen 80;
    server_name accounting.domain.com;

    server_tokens off;

    client_max_body_size 100M;

    root /var/www/app/public/;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass invoiceninja:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }
}

Issue

The application is successfully deployed. Nginx is correctly forwarding to the app (response from server). When accessing the application the only thing I'm able to see is a grey screen. When going to accounting.domain.com/client it is unable to load any styles, html itself loads fine.

Supporting information

Screenshot of issue

image

Har trace

{
  "log": {
    "version": "1.2",
    "creator": {
      "name": "WebInspector",
      "version": "537.36"
    },
    "pages": [
      {
        "startedDateTime": "2023-08-10T10:03:45.024Z",
        "id": "page_1",
        "title": "http://accounting.domain.com/",
        "pageTimings": {
          "onContentLoad": 2651.36999997776,
          "onLoad": 3001.458999933675
        }
      }
    ],
    "entries": [
      {
        "_initiator": {
          "type": "other"
        },
        "_priority": "VeryHigh",
        "_resourceType": "document",
        "cache": {},
        "connection": "10587",
        "pageref": "page_1",
        "request": {
          "method": "GET",
          "url": "http://accounting.domain.com/",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Accept",
              "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.9"
            },
            {
              "name": "Cache-Control",
              "value": "max-age=0"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Cookie",
              "value": "session_id=8ac32523cd4afec1603ab270d3ada384ef38e1d0; cids=1; frontend_lang=en_US; ip_session=a05f8cdb02bab880189871484dd78f04d8f7e37b; XSRF-TOKEN=eyJpdiI6InFLMW0zZkhxSWxwMGVXZ1pOaUJXYnc9PSIsInZhbHVlIjoick03L2xBR0E0OXI2dFRnUnpheGpGSDFFclhrRGM0VHRRSGlBVU1FNnQxcy9hNzR1SmJwU0RFdHdvcEJrb0VFRjRHRGF6U2U2ZmNIQVVhMjRBeDhnMHByb2pSa00vd2Juc1ZKSXhZSTlINHF5VUUwendvY1dEUWZRb3grM2lpNngiLCJtYWMiOiI3ZjUyYjdjMTk2YzQ1MTcwYTBiY2E2OGVlYWRhMWY0NjUzMDZmZTI3M2MzNjQ0ZGFhMzNkZGUxNzEwNWY2ZTY4IiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6Inc5VHNFMzRCUkZITDZaSDBJTFBhZmc9PSIsInZhbHVlIjoid2lPb1JHZEVrMGdobHBTY1BqRG83MVY1ZWN1MmpXbzNhcVRuUzZ3Z3V1Y0lVc1MzSlc5OU10K0lzMVU4WW0vTDZqa29HZnFXN01IWlpubWx3aEo4Nk5HMmppQUR6NTBTbTJNYXJPdk5XN2JlN0djMlNpZEIxMmtDVm15YXc2WjciLCJtYWMiOiIyMzU4ZjhlNTlmNmNiMTczZWIwZTIwY2E4M2M2Y2MwMjhiZTIwZjU5YWIzNGUzZTE2NzNkMzI3YTk1NDNmODA5IiwidGFnIjoiIn0%3D"
            },
            {
              "name": "Host",
              "value": "accounting.domain.com"
            },
            {
              "name": "Upgrade-Insecure-Requests",
              "value": "1"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.200"
            }
          ],
          "queryString": [],
          "cookies": [
            {
              "name": "session_id",
              "value": "8ac32523cd4afec1603ab270d3ada384ef38e1d0",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-16T17:43:01.834Z",
              "httpOnly": true,
              "secure": false
            },
            {
              "name": "cids",
              "value": "1",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2024-08-08T17:43:03.452Z",
              "httpOnly": false,
              "secure": false
            },
            {
              "name": "frontend_lang",
              "value": "en_US",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2024-08-08T16:42:38.244Z",
              "httpOnly": false,
              "secure": false
            },
            {
              "name": "ip_session",
              "value": "a05f8cdb02bab880189871484dd78f04d8f7e37b",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-19T19:19:21.467Z",
              "httpOnly": true,
              "secure": false
            },
            {
              "name": "XSRF-TOKEN",
              "value": "eyJpdiI6InFLMW0zZkhxSWxwMGVXZ1pOaUJXYnc9PSIsInZhbHVlIjoick03L2xBR0E0OXI2dFRnUnpheGpGSDFFclhrRGM0VHRRSGlBVU1FNnQxcy9hNzR1SmJwU0RFdHdvcEJrb0VFRjRHRGF6U2U2ZmNIQVVhMjRBeDhnMHByb2pSa00vd2Juc1ZKSXhZSTlINHF5VUUwendvY1dEUWZRb3grM2lpNngiLCJtYWMiOiI3ZjUyYjdjMTk2YzQ1MTcwYTBiY2E2OGVlYWRhMWY0NjUzMDZmZTI3M2MzNjQ0ZGFhMzNkZGUxNzEwNWY2ZTY4IiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T11:41:23.324Z",
              "httpOnly": false,
              "secure": false,
              "sameSite": "Lax"
            },
            {
              "name": "laravel_session",
              "value": "eyJpdiI6Inc5VHNFMzRCUkZITDZaSDBJTFBhZmc9PSIsInZhbHVlIjoid2lPb1JHZEVrMGdobHBTY1BqRG83MVY1ZWN1MmpXbzNhcVRuUzZ3Z3V1Y0lVc1MzSlc5OU10K0lzMVU4WW0vTDZqa29HZnFXN01IWlpubWx3aEo4Nk5HMmppQUR6NTBTbTJNYXJPdk5XN2JlN0djMlNpZEIxMmtDVm15YXc2WjciLCJtYWMiOiIyMzU4ZjhlNTlmNmNiMTczZWIwZTIwY2E4M2M2Y2MwMjhiZTIwZjU5YWIzNGUzZTE2NzNkMzI3YTk1NDNmODA5IiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T11:41:23.325Z",
              "httpOnly": true,
              "secure": false,
              "sameSite": "Lax"
            }
          ],
          "headersSize": 1330,
          "bodySize": 0
        },
        "response": {
          "status": 200,
          "statusText": "OK",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Access-Control-Allow-Headers",
              "value": "X-React,X-API-PASSWORD-BASE64,X-API-COMPANY-KEY,X-API-SECRET,X-API-TOKEN,X-API-PASSWORD,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Disposition,Range,X-CSRF-TOKEN,X-XSRF-TOKEN,X-LIVEWIRE"
            },
            {
              "name": "Access-Control-Allow-Methods",
              "value": "GET, POST, PUT, DELETE, OPTIONS"
            },
            {
              "name": "Access-Control-Allow-Origin",
              "value": "*"
            },
            {
              "name": "Access-Control-Expose-Headers",
              "value": "X-APP-VERSION,X-MINIMUM-CLIENT-VERSION,Content-Disposition"
            },
            {
              "name": "Cache-Control",
              "value": "no-cache, private"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Content-Type",
              "value": "text/html; charset=UTF-8"
            },
            {
              "name": "Date",
              "value": "Thu, 10 Aug 2023 10:03:48 GMT"
            },
            {
              "name": "Server",
              "value": "nginx"
            },
            {
              "name": "Set-Cookie",
              "value": "XSRF-TOKEN=eyJpdiI6Ilo4bmJVQTJvem5QcG1VTWNsNUl1c1E9PSIsInZhbHVlIjoiZEU3Mmk3WE5hU29SeXhKSGt1UEwrL3JSejNabUJMakJyNUVsUS80TkZxbDBxZDRTRjZYaGRncXNhUWdIS3IrTGx6NWM1TmJDQ3JCbXhZRTlrZlhkQmd1N21oV3RvOUkwRGVjR3hIZitFNmNWaUl6ZjU4T09vL2JKalQ2V1Z0QXkiLCJtYWMiOiI1NDY1ZGUxN2Q3ODhhY2JjYWZhNWY2ZTczMmE3YTJiMmI5ZmM5NDNlMTZmNDRjOThmZDc3ODlhNjI0MGNiNDdjIiwidGFnIjoiIn0%3D; expires=Thu, 10 Aug 2023 12:03:48 GMT; Max-Age=7200; path=/; samesite=lax"
            },
            {
              "name": "Set-Cookie",
              "value": "laravel_session=eyJpdiI6IjBlSGYwZzVwd2RFZ1hza283UG96Q2c9PSIsInZhbHVlIjoiVkVubTdITXdkRWtDVGpFL1hueGk5RXdqTXdDeno4RkF5RmlHNGZQQUxpRllabjdFKzA2UnNPRTVnN2hoOHErVDErNUduenhiYzhnSXh0em52ZjZINHltcEtGVno3Um1WaE44RytEWGFXOEZ1SWkvSXlqNGg4NGhHR3pPbHR1ZysiLCJtYWMiOiI0YjBjNThmYjc0YzkwYzU1ZjUwODViZjk3ZGYyMTc3NTVjYzJmN2I2MzJhZWE4MWMwMTc4NjdlMjMzNTZjZGRjIiwidGFnIjoiIn0%3D; expires=Thu, 10 Aug 2023 12:03:48 GMT; Max-Age=7200; path=/; httponly; samesite=lax"
            },
            {
              "name": "Transfer-Encoding",
              "value": "chunked"
            },
            {
              "name": "X-APP-VERSION",
              "value": "5.6.28"
            },
            {
              "name": "X-Frame-Options",
              "value": "SAMEORIGIN"
            },
            {
              "name": "X-MINIMUM-CLIENT-VERSION",
              "value": "5.0.16"
            },
            {
              "name": "X-Powered-By",
              "value": "PHP/8.2.8"
            }
          ],
          "cookies": [
            {
              "name": "XSRF-TOKEN",
              "value": "eyJpdiI6Ilo4bmJVQTJvem5QcG1VTWNsNUl1c1E9PSIsInZhbHVlIjoiZEU3Mmk3WE5hU29SeXhKSGt1UEwrL3JSejNabUJMakJyNUVsUS80TkZxbDBxZDRTRjZYaGRncXNhUWdIS3IrTGx6NWM1TmJDQ3JCbXhZRTlrZlhkQmd1N21oV3RvOUkwRGVjR3hIZitFNmNWaUl6ZjU4T09vL2JKalQ2V1Z0QXkiLCJtYWMiOiI1NDY1ZGUxN2Q3ODhhY2JjYWZhNWY2ZTczMmE3YTJiMmI5ZmM5NDNlMTZmNDRjOThmZDc3ODlhNjI0MGNiNDdjIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:45.024Z",
              "httpOnly": false,
              "secure": false,
              "sameSite": "lax"
            },
            {
              "name": "laravel_session",
              "value": "eyJpdiI6IjBlSGYwZzVwd2RFZ1hza283UG96Q2c9PSIsInZhbHVlIjoiVkVubTdITXdkRWtDVGpFL1hueGk5RXdqTXdDeno4RkF5RmlHNGZQQUxpRllabjdFKzA2UnNPRTVnN2hoOHErVDErNUduenhiYzhnSXh0em52ZjZINHltcEtGVno3Um1WaE44RytEWGFXOEZ1SWkvSXlqNGg4NGhHR3pPbHR1ZysiLCJtYWMiOiI0YjBjNThmYjc0YzkwYzU1ZjUwODViZjk3ZGYyMTc3NTVjYzJmN2I2MzJhZWE4MWMwMTc4NjdlMjMzNTZjZGRjIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:45.024Z",
              "httpOnly": true,
              "secure": false,
              "sameSite": "lax"
            }
          ],
          "content": {
            "size": 4775,
            "mimeType": "text/html",
            "compression": -13,
            "text": "<!DOCTYPE html>\n<html data-report-errors=\"1\" data-rc=\"\" data-user-agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.200\" data-login=\"false\" data-signup=\"false\" data-white-label=\"\">\n<head>\n    <!-- Source: https://github.com/invoiceninja/invoiceninja -->\n    <!-- Version: 5.6.28 -->\n  <meta charset=\"UTF-8\">\n  <title>Invoice Ninja</title>\n  <meta name=\"google-signin-client_id\" content=\"\">\n  <link rel=\"manifest\" href=\"manifest.json?v=5.6.28\">\n  <script src=\"http://accounting.domain.com/js/pdf.min.js\"></script>\n    <script type=\"text/javascript\">\n    pdfjsLib.GlobalWorkerOptions.workerSrc = \"http://accounting.domain.com/js/pdf.worker.min.js\";\n  </script>\n   <script>\n    window.flutterConfiguration = {\n              canvasKitBaseUrl: \"/canvaskit/\"\n          };\n  </script>\n</head>\n<body style=\"background-color:#888888;\">\n\n  \n  <style>\n\n    /* fix for blurry fonts \n    flt-glass-pane {\n        image-rendering: pixelated;\n    }\n    */\n   \n    /* https://projects.lukehaas.me/css-loaders/ */\n    .loader,\n    .loader:before,\n    .loader:after {\n      border-radius: 50%;\n      width: 2.5em;\n      height: 2.5em;\n      -webkit-animation-fill-mode: both;\n      animation-fill-mode: both;\n      -webkit-animation: load7 1.8s infinite ease-in-out;\n      animation: load7 1.8s infinite ease-in-out;\n    }\n    .loader {\n      color: #ffffff;\n      font-size: 10px;\n      margin: 80px auto;\n      position: relative;\n      text-indent: -9999em;\n      -webkit-transform: translateZ(0);\n      -ms-transform: translateZ(0);\n      transform: translateZ(0);\n      -webkit-animation-delay: -0.40s;\n      animation-delay: -0.40s;\n    }\n    .loader:before,\n    .loader:after {\n      content: '';\n      position: absolute;\n      top: 0;\n    }\n    .loader:before {\n      left: -3.5em;\n      -webkit-animation-delay: -0.80s;\n      animation-delay: -0.80s;\n    }\n    .loader:after {\n      left: 3.5em;\n    }\n    @-webkit-keyframes load7 {\n      0%,\n      80%,\n      100% {\n        box-shadow: 0 2.5em 0 -1.3em;\n      }\n      40% {\n        box-shadow: 0 2.5em 0 0;\n      }\n    }\n    @keyframes load7 {\n      0%,\n      80%,\n      100% {\n        box-shadow: 0 2.5em 0 -1.3em;\n      }\n      40% {\n        box-shadow: 0 2.5em 0 0;\n      }\n    }\n\n  </style>\n\n  <script>\n        \n    if ('serviceWorker' in navigator) {\n      window.addEventListener('load', function () {\n        navigator.serviceWorker.register('flutter_service_worker.js?v=5.6.28');\n      });\n    }\n\n    document.addEventListener('DOMContentLoaded', function(event) {\n      document.getElementById('loader').style.display = 'none';\n    });\n\n    \n    function invokeServiceWorkerUpdateFlow() {\n      // you have a better UI here, reloading is not a great user experince here.\n      const confirmed = alert('New version of the app is available. Refresh now');\n      if (confirmed == true) {\n        window.location.reload();\n      }\n    }\n    async function handleServiceWorker() {\n      if ('serviceWorker' in navigator) {\n        // get the ServiceWorkerRegistration instance\n        const registration = await navigator.serviceWorker.getRegistration();\n        // (it is also returned from navigator.serviceWorker.register() function)\n\n        if (registration) {\n          // detect Service Worker update available and wait for it to become installed\n          registration.addEventListener('updatefound', () => {\n            if (registration.installing) {\n              // wait until the new Service worker is actually installed (ready to take over)\n              registration.installing.addEventListener('statechange', () => {\n                if (registration.waiting) {\n                  // if there's an existing controller (previous Service Worker), show the prompt\n                  if (navigator.serviceWorker.controller) {\n                    invokeServiceWorkerUpdateFlow(registration);\n                  } else {\n                    // otherwise it's the first install, nothing to do\n                    console.log('Service Worker initialized for the first time');\n                  }\n                }\n              });\n            }\n          });\n\n          let refreshing = false;\n\n          // detect controller change and refresh the page\n          navigator.serviceWorker.addEventListener('controllerchange', () => {\n            if (!refreshing) {\n              window.location.reload();\n              refreshing = true;\n            }\n          });\n        }\n      }\n    }\n\n    handleServiceWorker();\n  \n  </script>\n\n  <script defer src=\"main.foss.dart.js?v=5.6.28\" type=\"application/javascript\"></script>\n\n  <center style=\"padding-top: 150px\" id=\"loader\">\n    <div class=\"loader\"></div>\n  </center>\n\n</body>\n</html>"
          },
          "redirectURL": "",
          "headersSize": 1652,
          "bodySize": 4788,
          "_transferSize": 6440,
          "_error": null
        },
        "serverIPAddress": "IP",
        "startedDateTime": "2023-08-10T10:03:45.014Z",
        "time": 2549.9370000325143,
        "timings": {
          "blocked": 9.819000028073788,
          "dns": 0,
          "ssl": -1,
          "connect": 2.677,
          "send": 0.6139999999999999,
          "wait": 2534.671000002153,
          "receive": 2.1560000022873282,
          "_blocked_queueing": 9.819000028073788
        }
      },
      {
        "_initiator": {
          "type": "parser",
          "url": "http://accounting.domain.com/",
          "lineNumber": 9
        },
        "_priority": "High",
        "_resourceType": "script",
        "cache": {},
        "connection": "10587",
        "pageref": "page_1",
        "request": {
          "method": "GET",
          "url": "http://accounting.domain.com/js/pdf.min.js",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Accept",
              "value": "*/*"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.9"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Cookie",
              "value": "session_id=8ac32523cd4afec1603ab270d3ada384ef38e1d0; cids=1; frontend_lang=en_US; ip_session=a05f8cdb02bab880189871484dd78f04d8f7e37b; XSRF-TOKEN=eyJpdiI6Ilo4bmJVQTJvem5QcG1VTWNsNUl1c1E9PSIsInZhbHVlIjoiZEU3Mmk3WE5hU29SeXhKSGt1UEwrL3JSejNabUJMakJyNUVsUS80TkZxbDBxZDRTRjZYaGRncXNhUWdIS3IrTGx6NWM1TmJDQ3JCbXhZRTlrZlhkQmd1N21oV3RvOUkwRGVjR3hIZitFNmNWaUl6ZjU4T09vL2JKalQ2V1Z0QXkiLCJtYWMiOiI1NDY1ZGUxN2Q3ODhhY2JjYWZhNWY2ZTczMmE3YTJiMmI5ZmM5NDNlMTZmNDRjOThmZDc3ODlhNjI0MGNiNDdjIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6IjBlSGYwZzVwd2RFZ1hza283UG96Q2c9PSIsInZhbHVlIjoiVkVubTdITXdkRWtDVGpFL1hueGk5RXdqTXdDeno4RkF5RmlHNGZQQUxpRllabjdFKzA2UnNPRTVnN2hoOHErVDErNUduenhiYzhnSXh0em52ZjZINHltcEtGVno3Um1WaE44RytEWGFXOEZ1SWkvSXlqNGg4NGhHR3pPbHR1ZysiLCJtYWMiOiI0YjBjNThmYjc0YzkwYzU1ZjUwODViZjk3ZGYyMTc3NTVjYzJmN2I2MzJhZWE4MWMwMTc4NjdlMjMzNTZjZGRjIiwidGFnIjoiIn0%3D"
            },
            {
              "name": "Host",
              "value": "accounting.domain.com"
            },
            {
              "name": "Referer",
              "value": "http://accounting.domain.com/"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.200"
            }
          ],
          "queryString": [],
          "cookies": [
            {
              "name": "session_id",
              "value": "8ac32523cd4afec1603ab270d3ada384ef38e1d0",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-16T17:43:01.834Z",
              "httpOnly": true,
              "secure": false
            },
            {
              "name": "cids",
              "value": "1",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2024-08-08T17:43:03.452Z",
              "httpOnly": false,
              "secure": false
            },
            {
              "name": "frontend_lang",
              "value": "en_US",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2024-08-08T16:42:38.244Z",
              "httpOnly": false,
              "secure": false
            },
            {
              "name": "ip_session",
              "value": "a05f8cdb02bab880189871484dd78f04d8f7e37b",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-19T19:19:21.467Z",
              "httpOnly": true,
              "secure": false
            },
            {
              "name": "XSRF-TOKEN",
              "value": "eyJpdiI6Ilo4bmJVQTJvem5QcG1VTWNsNUl1c1E9PSIsInZhbHVlIjoiZEU3Mmk3WE5hU29SeXhKSGt1UEwrL3JSejNabUJMakJyNUVsUS80TkZxbDBxZDRTRjZYaGRncXNhUWdIS3IrTGx6NWM1TmJDQ3JCbXhZRTlrZlhkQmd1N21oV3RvOUkwRGVjR3hIZitFNmNWaUl6ZjU4T09vL2JKalQ2V1Z0QXkiLCJtYWMiOiI1NDY1ZGUxN2Q3ODhhY2JjYWZhNWY2ZTczMmE3YTJiMmI5ZmM5NDNlMTZmNDRjOThmZDc3ODlhNjI0MGNiNDdjIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:47.563Z",
              "httpOnly": false,
              "secure": false,
              "sameSite": "Lax"
            },
            {
              "name": "laravel_session",
              "value": "eyJpdiI6IjBlSGYwZzVwd2RFZ1hza283UG96Q2c9PSIsInZhbHVlIjoiVkVubTdITXdkRWtDVGpFL1hueGk5RXdqTXdDeno4RkF5RmlHNGZQQUxpRllabjdFKzA2UnNPRTVnN2hoOHErVDErNUduenhiYzhnSXh0em52ZjZINHltcEtGVno3Um1WaE44RytEWGFXOEZ1SWkvSXlqNGg4NGhHR3pPbHR1ZysiLCJtYWMiOiI0YjBjNThmYjc0YzkwYzU1ZjUwODViZjk3ZGYyMTc3NTVjYzJmN2I2MzJhZWE4MWMwMTc4NjdlMjMzNTZjZGRjIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:47.564Z",
              "httpOnly": true,
              "secure": false,
              "sameSite": "Lax"
            }
          ],
          "headersSize": 1210,
          "bodySize": 0
        },
        "response": {
          "status": 404,
          "statusText": "Not Found",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Access-Control-Allow-Headers",
              "value": "X-React,X-API-PASSWORD-BASE64,X-API-COMPANY-KEY,X-API-SECRET,X-API-TOKEN,X-API-PASSWORD,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Disposition,Range,X-CSRF-TOKEN,X-XSRF-TOKEN,X-LIVEWIRE"
            },
            {
              "name": "Access-Control-Allow-Methods",
              "value": "GET, POST, PUT, DELETE, OPTIONS"
            },
            {
              "name": "Access-Control-Allow-Origin",
              "value": "*"
            },
            {
              "name": "Access-Control-Expose-Headers",
              "value": "X-APP-VERSION,X-MINIMUM-CLIENT-VERSION,Content-Disposition"
            },
            {
              "name": "Cache-Control",
              "value": "no-cache, private"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Content-Type",
              "value": "text/html; charset=UTF-8"
            },
            {
              "name": "Server",
              "value": "nginx"
            },
            {
              "name": "Set-Cookie",
              "value": "XSRF-TOKEN=eyJpdiI6Iks0RHpCTUdwWm01alkwR1Z1TFBLcGc9PSIsInZhbHVlIjoiclVUZHJ0TXNGLzBPZk51WDdCTjlyMy9heGk3LzFJK0ZMS3hzZHR4UXBNQXlSS0RqMit4cjBYQ0p1UTFmYW8vcWFhMFk5cmhVbTk2bzFsTnAwdlN2Nm5JcVBGbXNxWHhGOXAyMHY5QzZXRHpNNjE3eWREQitBOVVHdnppSWh3RzMiLCJtYWMiOiJiYWVhYmIzN2MyY2IyNjZjZWRiOGRjMDE5OGNmYTc2MGU4ZjkzODlhNDg5YzA0ZTYwOTkyOWUzZmQyMWI0ZTYzIiwidGFnIjoiIn0%3D; expires=Thu, 10 Aug 2023 12:03:48 GMT; Max-Age=7200; path=/; samesite=lax"
            },
            {
              "name": "Set-Cookie",
              "value": "laravel_session=eyJpdiI6IlJsUUcreXcrNXJqMUQ5UXFYQlVNSlE9PSIsInZhbHVlIjoiNVJFOGJZdWpjVXNLWmZYTTl4aERPTCs3Nzd2Q005WjgzRTFZUEFhaXpNbUR6b1MyS1g2QlVHcXhjWDhZazRKWXRPN05UU1dPRUxJZWpDTlYxa25hR1JRSzJUZ1FndFJxVCtLbmNBMXUwS0cyU0c4dTh4enFCdExYbjBOVCtxZ1MiLCJtYWMiOiI3ZDc5MWUzNWM0OTRhY2NiYWNjODgxYmJiNTk2ZjA4YWM3ZDgxZDc4MzI4N2ZhMmExMDJiMmEyYWJiY2ViMWViIiwidGFnIjoiIn0%3D; expires=Thu, 10 Aug 2023 12:03:48 GMT; Max-Age=7200; path=/; httponly; samesite=lax"
            },
            {
              "name": "Transfer-Encoding",
              "value": "chunked"
            },
            {
              "name": "X-APP-VERSION",
              "value": "5.6.28"
            },
            {
              "name": "X-MINIMUM-CLIENT-VERSION",
              "value": "5.0.16"
            },
            {
              "name": "X-Powered-By",
              "value": "PHP/8.2.8"
            },
            {
              "name": "date",
              "value": "Thu, 10 Aug 2023 10:03:48 GMT"
            }
          ],
          "cookies": [
            {
              "name": "XSRF-TOKEN",
              "value": "eyJpdiI6Iks0RHpCTUdwWm01alkwR1Z1TFBLcGc9PSIsInZhbHVlIjoiclVUZHJ0TXNGLzBPZk51WDdCTjlyMy9heGk3LzFJK0ZMS3hzZHR4UXBNQXlSS0RqMit4cjBYQ0p1UTFmYW8vcWFhMFk5cmhVbTk2bzFsTnAwdlN2Nm5JcVBGbXNxWHhGOXAyMHY5QzZXRHpNNjE3eWREQitBOVVHdnppSWh3RzMiLCJtYWMiOiJiYWVhYmIzN2MyY2IyNjZjZWRiOGRjMDE5OGNmYTc2MGU4ZjkzODlhNDg5YzA0ZTYwOTkyOWUzZmQyMWI0ZTYzIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:47.619Z",
              "httpOnly": false,
              "secure": false,
              "sameSite": "lax"
            },
            {
              "name": "laravel_session",
              "value": "eyJpdiI6IlJsUUcreXcrNXJqMUQ5UXFYQlVNSlE9PSIsInZhbHVlIjoiNVJFOGJZdWpjVXNLWmZYTTl4aERPTCs3Nzd2Q005WjgzRTFZUEFhaXpNbUR6b1MyS1g2QlVHcXhjWDhZazRKWXRPN05UU1dPRUxJZWpDTlYxa25hR1JRSzJUZ1FndFJxVCtLbmNBMXUwS0cyU0c4dTh4enFCdExYbjBOVCtxZ1MiLCJtYWMiOiI3ZDc5MWUzNWM0OTRhY2NiYWNjODgxYmJiNTk2ZjA4YWM3ZDgxZDc4MzI4N2ZhMmExMDJiMmEyYWJiY2ViMWViIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:47.619Z",
              "httpOnly": true,
              "secure": false,
              "sameSite": "lax"
            }
          ],
          "content": {
            "size": 0,
            "mimeType": "text/html",
            "compression": 0,
            "text": ""
          },
          "redirectURL": "",
          "headersSize": 1630,
          "bodySize": 0,
          "_transferSize": 1630,
          "_error": "net::ERR_ABORTED"
        },
        "serverIPAddress": "IP",
        "startedDateTime": "2023-08-10T10:03:47.590Z",
        "time": 77.8759999666363,
        "timings": {
          "blocked": 29.64400005572289,
          "dns": -1,
          "ssl": -1,
          "connect": -1,
          "send": 0.23999999999999988,
          "wait": 45.978999949760734,
          "receive": 2.0129999611526728,
          "_blocked_queueing": 28.857000055722892
        }
      },
      {
        "_initiator": {
          "type": "parser",
          "url": "http://accounting.domain.com/",
          "lineNumber": 153
        },
        "_priority": "Low",
        "_resourceType": "script",
        "cache": {},
        "connection": "10589",
        "pageref": "page_1",
        "request": {
          "method": "GET",
          "url": "http://accounting.domain.com/main.foss.dart.js?v=5.6.28",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Accept",
              "value": "*/*"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.9"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Cookie",
              "value": "session_id=8ac32523cd4afec1603ab270d3ada384ef38e1d0; cids=1; frontend_lang=en_US; ip_session=a05f8cdb02bab880189871484dd78f04d8f7e37b; XSRF-TOKEN=eyJpdiI6Ilo4bmJVQTJvem5QcG1VTWNsNUl1c1E9PSIsInZhbHVlIjoiZEU3Mmk3WE5hU29SeXhKSGt1UEwrL3JSejNabUJMakJyNUVsUS80TkZxbDBxZDRTRjZYaGRncXNhUWdIS3IrTGx6NWM1TmJDQ3JCbXhZRTlrZlhkQmd1N21oV3RvOUkwRGVjR3hIZitFNmNWaUl6ZjU4T09vL2JKalQ2V1Z0QXkiLCJtYWMiOiI1NDY1ZGUxN2Q3ODhhY2JjYWZhNWY2ZTczMmE3YTJiMmI5ZmM5NDNlMTZmNDRjOThmZDc3ODlhNjI0MGNiNDdjIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6IjBlSGYwZzVwd2RFZ1hza283UG96Q2c9PSIsInZhbHVlIjoiVkVubTdITXdkRWtDVGpFL1hueGk5RXdqTXdDeno4RkF5RmlHNGZQQUxpRllabjdFKzA2UnNPRTVnN2hoOHErVDErNUduenhiYzhnSXh0em52ZjZINHltcEtGVno3Um1WaE44RytEWGFXOEZ1SWkvSXlqNGg4NGhHR3pPbHR1ZysiLCJtYWMiOiI0YjBjNThmYjc0YzkwYzU1ZjUwODViZjk3ZGYyMTc3NTVjYzJmN2I2MzJhZWE4MWMwMTc4NjdlMjMzNTZjZGRjIiwidGFnIjoiIn0%3D"
            },
            {
              "name": "Host",
              "value": "accounting.domain.com"
            },
            {
              "name": "Referer",
              "value": "http://accounting.domain.com/"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.200"
            }
          ],
          "queryString": [
            {
              "name": "v",
              "value": "5.6.28"
            }
          ],
          "cookies": [
            {
              "name": "session_id",
              "value": "8ac32523cd4afec1603ab270d3ada384ef38e1d0",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-16T17:43:01.834Z",
              "httpOnly": true,
              "secure": false
            },
            {
              "name": "cids",
              "value": "1",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2024-08-08T17:43:03.452Z",
              "httpOnly": false,
              "secure": false
            },
            {
              "name": "frontend_lang",
              "value": "en_US",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2024-08-08T16:42:38.244Z",
              "httpOnly": false,
              "secure": false
            },
            {
              "name": "ip_session",
              "value": "a05f8cdb02bab880189871484dd78f04d8f7e37b",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-19T19:19:21.467Z",
              "httpOnly": true,
              "secure": false
            },
            {
              "name": "XSRF-TOKEN",
              "value": "eyJpdiI6Ilo4bmJVQTJvem5QcG1VTWNsNUl1c1E9PSIsInZhbHVlIjoiZEU3Mmk3WE5hU29SeXhKSGt1UEwrL3JSejNabUJMakJyNUVsUS80TkZxbDBxZDRTRjZYaGRncXNhUWdIS3IrTGx6NWM1TmJDQ3JCbXhZRTlrZlhkQmd1N21oV3RvOUkwRGVjR3hIZitFNmNWaUl6ZjU4T09vL2JKalQ2V1Z0QXkiLCJtYWMiOiI1NDY1ZGUxN2Q3ODhhY2JjYWZhNWY2ZTczMmE3YTJiMmI5ZmM5NDNlMTZmNDRjOThmZDc3ODlhNjI0MGNiNDdjIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:47.563Z",
              "httpOnly": false,
              "secure": false,
              "sameSite": "Lax"
            },
            {
              "name": "laravel_session",
              "value": "eyJpdiI6IjBlSGYwZzVwd2RFZ1hza283UG96Q2c9PSIsInZhbHVlIjoiVkVubTdITXdkRWtDVGpFL1hueGk5RXdqTXdDeno4RkF5RmlHNGZQQUxpRllabjdFKzA2UnNPRTVnN2hoOHErVDErNUduenhiYzhnSXh0em52ZjZINHltcEtGVno3Um1WaE44RytEWGFXOEZ1SWkvSXlqNGg4NGhHR3pPbHR1ZysiLCJtYWMiOiI0YjBjNThmYjc0YzkwYzU1ZjUwODViZjk3ZGYyMTc3NTVjYzJmN2I2MzJhZWE4MWMwMTc4NjdlMjMzNTZjZGRjIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:47.564Z",
              "httpOnly": true,
              "secure": false,
              "sameSite": "Lax"
            }
          ],
          "headersSize": 1223,
          "bodySize": 0
        },
        "response": {
          "status": 404,
          "statusText": "Not Found",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Access-Control-Allow-Headers",
              "value": "X-React,X-API-PASSWORD-BASE64,X-API-COMPANY-KEY,X-API-SECRET,X-API-TOKEN,X-API-PASSWORD,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Disposition,Range,X-CSRF-TOKEN,X-XSRF-TOKEN,X-LIVEWIRE"
            },
            {
              "name": "Access-Control-Allow-Methods",
              "value": "GET, POST, PUT, DELETE, OPTIONS"
            },
            {
              "name": "Access-Control-Allow-Origin",
              "value": "*"
            },
            {
              "name": "Access-Control-Expose-Headers",
              "value": "X-APP-VERSION,X-MINIMUM-CLIENT-VERSION,Content-Disposition"
            },
            {
              "name": "Cache-Control",
              "value": "no-cache, private"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Content-Type",
              "value": "text/html; charset=UTF-8"
            },
            {
              "name": "Server",
              "value": "nginx"
            },
            {
              "name": "Set-Cookie",
              "value": "XSRF-TOKEN=eyJpdiI6Ik1HN0VLMVA4d0F5Y2Y0ZTNnV3puSUE9PSIsInZhbHVlIjoiL2dqVnFiZThSelJzSDRkMVlEVFZVQ1NoS2xWeDY0Mk4yUzZlMEMyWTM3WU9RWWxUdUxSNEcvM1M1RFA3alJrSEo3aWdyME9ZWUNFL01vMXU4K20rZGlmMWpxNTgxQ3UvK0NLZ3JZVWwwSTlGNm5ZUzRER1Y4YXNmWlR6dStnajMiLCJtYWMiOiI2YjFjMWZiOGMyZDlhZDg5YjAyODViOTc1MDA5Y2ZkNzE0ODhiNzJkOTE3NWJiZjM5ZDgyMWM4YmI0ZDliY2EwIiwidGFnIjoiIn0%3D; expires=Thu, 10 Aug 2023 12:03:48 GMT; Max-Age=7200; path=/; samesite=lax"
            },
            {
              "name": "Set-Cookie",
              "value": "laravel_session=eyJpdiI6ImVaL0ViTmlGcEg4NlNTdWdSQkE0UFE9PSIsInZhbHVlIjoibDRkejk2dHYzVFBGbHFkRVJiM3QzanNGaTJEUzBxTGwxKzJHZ2o2OWhTNDVsd3JKZ2hsUkwvbkk2aUVkNlhkRFZLVGc1NkY1SUE1WTVxa0VCaWhoWTR1N1ZuTUJGcnZjMW9UQUIvbklDRCtZcnoybGlxVzA2bExqeUtEK3dEc2QiLCJtYWMiOiJjMzYyOGViZGZlMzVmNzJiNWM3NTI4YTIzM2YzNjVkOTcwOWJmNjBkYzgzYWRjYzU4NmMyZDA4MTBmMDI0MmQyIiwidGFnIjoiIn0%3D; expires=Thu, 10 Aug 2023 12:03:48 GMT; Max-Age=7200; path=/; httponly; samesite=lax"
            },
            {
              "name": "Transfer-Encoding",
              "value": "chunked"
            },
            {
              "name": "X-APP-VERSION",
              "value": "5.6.28"
            },
            {
              "name": "X-MINIMUM-CLIENT-VERSION",
              "value": "5.0.16"
            },
            {
              "name": "X-Powered-By",
              "value": "PHP/8.2.8"
            },
            {
              "name": "date",
              "value": "Thu, 10 Aug 2023 10:03:48 GMT"
            }
          ],
          "cookies": [
            {
              "name": "XSRF-TOKEN",
              "value": "eyJpdiI6Ik1HN0VLMVA4d0F5Y2Y0ZTNnV3puSUE9PSIsInZhbHVlIjoiL2dqVnFiZThSelJzSDRkMVlEVFZVQ1NoS2xWeDY0Mk4yUzZlMEMyWTM3WU9RWWxUdUxSNEcvM1M1RFA3alJrSEo3aWdyME9ZWUNFL01vMXU4K20rZGlmMWpxNTgxQ3UvK0NLZ3JZVWwwSTlGNm5ZUzRER1Y4YXNmWlR6dStnajMiLCJtYWMiOiI2YjFjMWZiOGMyZDlhZDg5YjAyODViOTc1MDA5Y2ZkNzE0ODhiNzJkOTE3NWJiZjM5ZDgyMWM4YmI0ZDliY2EwIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:47.623Z",
              "httpOnly": false,
              "secure": false,
              "sameSite": "lax"
            },
            {
              "name": "laravel_session",
              "value": "eyJpdiI6ImVaL0ViTmlGcEg4NlNTdWdSQkE0UFE9PSIsInZhbHVlIjoibDRkejk2dHYzVFBGbHFkRVJiM3QzanNGaTJEUzBxTGwxKzJHZ2o2OWhTNDVsd3JKZ2hsUkwvbkk2aUVkNlhkRFZLVGc1NkY1SUE1WTVxa0VCaWhoWTR1N1ZuTUJGcnZjMW9UQUIvbklDRCtZcnoybGlxVzA2bExqeUtEK3dEc2QiLCJtYWMiOiJjMzYyOGViZGZlMzVmNzJiNWM3NTI4YTIzM2YzNjVkOTcwOWJmNjBkYzgzYWRjYzU4NmMyZDA4MTBmMDI0MmQyIiwidGFnIjoiIn0%3D",
              "path": "/",
              "domain": "accounting.domain.com",
              "expires": "2023-08-10T12:03:47.623Z",
              "httpOnly": true,
              "secure": false,
              "sameSite": "lax"
            }
          ],
          "content": {
            "size": 0,
            "mimeType": "text/html",
            "compression": 0,
            "text": ""
          },
          "redirectURL": "",
          "headersSize": 1630,
          "bodySize": 0,
          "_transferSize": 1630,
          "_error": "net::ERR_ABORTED"
        },
        "serverIPAddress": "IP",
        "startedDateTime": "2023-08-10T10:03:47.590Z",
        "time": 85.99200006574392,
        "timings": {
          "blocked": 33.56900000236183,
          "dns": -1,
          "ssl": -1,
          "connect": -1,
          "send": 0.32099999999999995,
          "wait": 43.78599995477498,
          "receive": 8.316000108607113,
          "_blocked_queueing": 32.611000002361834
        }
      }
    ]
  }
}

Findings.

In the HAR trace file you can see the following:

Solution

Not found