Nginx 404 Error after update and config changes

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 30.0.3
  • Operating system and version (e.g., Ubuntu 24.04):
    • Fedora 37
  • Web server and version (e.g, Apache 2.4.25):
    • not sure if this is nginx
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • 1.26.2
  • PHP version (e.g, 8.3):
    • 8.3.14
  • Is this the first time you’ve seen this error? (Yes / No):
    • Yes
  • When did this problem seem to first start?
    • Not sure, it happened after updating from NC 28 through the respective versions up to 30.0.3 and trying to fix some of the new issues (java .mjs MIME type for example)
  • Installation method (e.g. AIO, NCP, Bare Metal/Archive, etc.)
    • LSIO docker container
  • Are you using Cloudflare, mod_security, or similar? (Yes / No)
    • No

Summary of the issue you are facing:

After updating to a new Version and changing some (i think nginx config files) i only get a nginx 404 error. Sadly we lost power shortly after the change, and by now i have forgotten what exactly i did or at which step it occured.

Also, in my docker server setup, i have (amongs many other services) a nginx-reverse proxy running, but i don’t think it is this one that throws the 404 error. If you know how i can check if it’s the containers internal nginx or my own, please let me know :slight_smile:

I already tried recreating the container, also with new images, i tried deleting the nginx.conf file and letting it be recreated on container creation, to no evail.

Steps to replicate it:

Sadly, as mentioned, I don’t know exactly anymore

Log entries

Nextcloud

This is the log of the nextcloud container after new image and container:

[migrations] started
[migrations] 01-nginx-site-confs-default: skipped
[migrations] 02-default-location: skipped
[migrations] done
───────────────────────────────────────
      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝
   Brought to you by linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID:    1000
User GID:    1000
───────────────────────────────────────
Linuxserver.io version: 30.0.3-ls355
Build-date: 2024-12-05T14:04:00+00:00
───────────────────────────────────────
    
using keys found in /config/keys
Initializing nextcloud 30.0.3.2 (this can take a while) ...
Upgrading nextcloud from 30.0.2.2 ...
Setting permissions
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Turned on maintenance mode
Updating database schema
Updated database
Updating <app_api> ...
Updated <app_api> to 4.0.3
Starting code integrity check...
Finished code integrity check
Update successful
Turned off maintenance mode
Resetting log level
Initializing finished
**** The following active confs have different version dates than the samples that are shipped. ****
**** This may be due to user customization or an update to the samples. ****
**** You should compare the following files to the samples in the same folder and update them. ****
**** Use the link at the top of the file to view the changelog. ****
┌────────────┬────────────┬────────────────────────────────────────────────────────────────────────┐
│  old date  │  new date  │ path                                                                   │
├────────────┼────────────┼────────────────────────────────────────────────────────────────────────┤
│ 2021-10-24 │ 2024-05-27 │ /config/nginx/nginx.conf                                               │
│            │ 2024-07-16 │ /config/nginx/site-confs/default.conf                                  │
│ 2022-08-20 │ 2023-08-13 │ /config/nginx/ssl.conf                                                 │
└────────────┴────────────┴────────────────────────────────────────────────────────────────────────┘
[custom-init] No custom files found, skipping...
[ls.io-init] done.

Web Browser

404 Not Found
nginx

Web server / Reverse Proxy

Apache/nginx/system log in /var/log/nginx/error.log in the containers filesystem is empty

Configuration

Nextcloud

The output of occ config:list system:

{
    "system": {
        "memcache.local": "\\OC\\Memcache\\APCu",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "mysecretdomain1",
            "mysecretdomain2"
        ],
        "overwrite.cli.url": "mysecretdomain3",
        "dbtype": "mysql",
        "version": "30.0.3.2",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "ssl",
        "default_phone_region": "MYPRIVATEREGION",
        "maintenance": false,
        "theme": "",
        "loglevel": 2,
        "app_install_overwrite": [
            "ocr",
            "apporder",
            "extract",
            "integration_moodle",
            "bookmarks_fulltextsearch",
            "duplicatefinder",
            "scanner",
            "metadata",
            "files_rightclick"
        ],
        "preview_max_memory": 8192,
        "preview_max_filesize_image": 2048,
        "defaultapp": "files",
        "maintenance_window_start": 100,
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\APCu",
        "upgrade.disable-web": true
    }
}

Apps

The output of occ app:list (if possible):

Enabled:
  - app_api: 4.0.3
  - bruteforcesettings: 3.0.0
  - calendar: 5.0.6
  - cloud_federation_api: 1.13.0
  - contacts: 6.1.1
  - contactsinteraction: 1.11.0
  - cookbook: 0.11.2
  - dashboard: 7.10.0
  - dav: 1.31.1
  - deck: 1.14.2
  - external: 5.5.2
  - extract: 1.3.6
  - federatedfilesharing: 1.20.0
  - files: 2.2.0
  - files_downloadlimit: 3.0.0
  - files_external: 1.22.0
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - files_zip: 2.1.0
  - fileslibreofficeedit: 2.0.1
  - groupfolders: 18.0.6
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - mail: 4.0.5
  - maps: 1.5.0
  - nextcloud_announcements: 2.0.0
  - notes: 4.11.0
  - notifications: 3.0.0
  - oauth2: 1.18.1
  - password_policy: 2.0.0
  - photos: 3.0.2
  - previewgenerator: 5.7.0
  - provisioning_api: 1.20.0
  - recognize: 8.1.1
  - related_resources: 1.5.0
  - richdocuments: 8.5.2
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - tasks: 0.16.1
  - text: 4.1.0
  - theming: 2.5.0
  - twofactor_backupcodes: 1.19.0
  - twofactor_totp: 12.0.0-dev
  - unroundedcorners: 1.1.4
  - updatenotification: 1.20.0
  - viewer: 3.0.0
  - weather_status: 1.10.0
  - webhook_listeners: 1.1.0-dev
  - workflowengine: 2.12.0
Disabled:
  - activity: 3.0.0 (installed 2.16.0)
  - admin_audit: 1.20.0
  - backup: 1.4.0 (installed 1.4.0)
  - cfg_share_links: 6.1.1 (installed 6.1.1)
  - circles: 30.0.0 (installed 24.0.1)
  - comments: 1.20.1 (installed 1.14.0)
  - encryption: 2.18.0
  - federation: 1.20.0 (installed 1.14.0)
  - files_markdown: 2.4.1 (installed 2.4.1)
  - files_rightclick: 0.15.1 (installed 1.6.0)
  - firstrunwizard: 3.0.0 (installed 2.13.0)
  - metadata: 0.21.0 (installed 0.21.0)
  - privacy: 2.0.0 (installed 1.8.0)
  - recommendations: 3.0.0 (installed 1.3.0)
  - support: 2.0.0 (installed 1.7.0)
  - survey_client: 2.0.0 (installed 1.12.0)
  - suspicious_login: 8.0.0 (installed 5.0.0)
  - systemtags: 1.20.0 (installed 1.14.0)
  - twofactor_nextcloud_notification: 4.0.0
  - user_ldap: 1.21.0
  - user_status: 1.10.0 (installed 1.4.0)

What to do

That is the question. I have no further ideas, and any googling until now didn’t result in a fix. I am glad to provide more configs and info if needed. Help is very mich appreciated! ^^

i think this is not recommended (ie possible) - maybe that’s the source of the error(s)
If you are lucky you can re-create what you did in your shell’s history (e.g. .bash_history).
404s should not be too hard to analyze, but usually the are logged in the webserver’s access.log (error.log is only for webserver’s “internal” errors.)
best check all the logs you have.
GOOD LUCK!

Hi, i think i phrased my text confusingly: i updated through the major version one by one and not directly from 28 to 30.0.3, just as they were mentioned in the settings overview (28 → 29 → 30).

Were would i find such an access.log file? At /var/log/nginx there is only the one file error.log

depends on your setup. if the “answer” is a “real” http 404 (ond not the browser’s errormsg) it’s most likley a webserver (or related component). if you use a containerized setup, check inside all the containers that offer such a service.
(i (almost) never use docker et al so i cannot be of much help here.)

seems like the host os’s path and not a container’s.
GOOD LUCK!

A summary of issues that could cause 404 NGinx errors can e.g. found here

e.g. you mentioned that you have changed the config (title of your post)
that is point no 3 on the list

e.g. have you added

“upgrade.disable-web”: true
but maybe forgotten to close this entry by a comma “,” and so on …

Linux rights (access to needed files / folders) from nginx is also a serious part after each update / upgrade if you haven’t checked → do it or do it again.

Hope it leads to one of the mentioned points …

It works again!

First, i searched for an access.log-file again and found it, but there were no errors or similar to be found.
I also searched the nginx.conf for any mistakes, but couldn’t find any.
Then i just deleted the file and let the recreation of the nextcloud container fill it per its default creation values. This fixed it! I have no idea why it didn’t work, why it works now or why the same thing didn’t “fix” it when i tried it earlier, but here we are ig :smiley:

Thanks anyways for your hints and help guys :slight_smile:

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