Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Nextcloud mit NGNIX Proxy Manager und Cloudflare

Featured Replies

Hallo Zusammen,

 

ich habe auf meinem Unraid-System ein Nextcloud-Container laufen.

Die Einrichtung mit MariaDB war soweit problemlos.

 

Nachdem ich den Nextcloud-Container nach Außen, über den NGNIX Proxy Manager, freigebe und das Cloudflare Zertifikat abrufe, erhalte ich in der Nextcloud-Protokollierung ständig folgende Fehlermeldung über Cloudflare-Adressen:

 

Der Cloudflare DNS ist mit Proxy.

 

Quote

Warning        core    Login failed: 'ncp' (Remote IP: '162.158.111.151')       2021-02-12T17:13:03+0100

Warning        core    Login failed: 'ncp' (Remote IP: '141.101.104.143')       2021-02-12T17:12:50+0100

Warning        core    Login failed: 'ncp' (Remote IP: '141.101.105.114')        2021-02-12T17:12:31+0100

Warning        core    Login failed: 'ncp' (Remote IP: '141.101.76.202')        2021-02-12T17:12:15+0100

Warning        core    Login failed: 'ncp' (Remote IP: '172.69.54.33')          2021-02-12T17:11:43+0100

Warning        core    Login failed: 'ncp' (Remote IP: '162.158.111.151')        2021-02-12T17:11:11+0100

Warning        core    Login failed: 'ncp' (Remote IP: '141.101.105.106')        2021-02-12T17:10:33+0100

Warning        core    Login failed: 'ncp' (Remote IP: '141.101.104.175')        2021-02-12T17:09:59+0100

Warning        core    Login failed: 'ncp' (Remote IP: '141.101.104.143')        2021-02-12T17:09:25+0100

Warning        core    Login failed: 'ncp' (Remote IP: '162.158.111.151')        2021-02-12T17:08:52+0100

Warning        core    Login failed: 'ncp' (Remote IP: '162.158.88.194')        2021-02-12T17:08:17+0100

 

Gibt es hierfür einen Trick ?

Ich habe schon mehrere Sachen bzgl. "trusted proxies", NGNIX Proxy Manager Advanced Attribues, etc. versucht, aber nichts hat geholfen :(

In der config.php von Nextcloud brachten die Werte auch keine Besserung:

Quote

'trusted_proxies' => array('10.42.0.0/16', '103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22', '104.16.0.0/12', '108.162.192.0/18', '131.0.72.0/22', '141.101.64.0/18', '162.158.0.0/15', '172.64.0.0/13', '173.245.48.0/20', '188.114.96.0/20', '190.93.240.0/20', '197.234.240.0/22', '198.41.128.0/17', '2400:cb00::/32', '2606:4700::/32', '2803:f800::/32', '2405:b500::/32', '2405:8100::/32', '2c0f:f248::/32', '2a06:98c0::/29'),

 

Quote

 'forwarded_for_headers' => array('HTTP_CF_CONNECTING_IP'),

 

 

Vielleicht hat Jemand das gleiche Probleme oder eine Idee wie ich das Problem beheben kann ?

 

 

Danke und ein schönes Wochenende

 

Edited by h0schi

  • Community Expert
1 hour ago, h0schi said:

über den NGNIX Proxy Manager, freigebe und das Cloudflare Zertifikat abrufe

 

Kannst du das näher erläutern? Ich hätte jetzt in NPM das Lets Encrypt Zertifikat ohne Cloudflare bestellt. Und danach auf Cloudflare umgestellt. Also warum genau willst du ein Zertifikat von Cloudflare verwenden? Und wie hast du das eingerichtet?

 

1 hour ago, h0schi said:

in der Nextcloud-Protokollierung ständig folgende Fehlermeldung über Cloudflare-Adressen:

Für mich sehen diese Fehler nach Login-Versuchen mit dem falschen Passwort aus. Also Bruteforce-Attacken (was normal ist, wenn man eine Seite öffentlich hostet). Die IP des eigentlichen Users siehst du nicht wegen dem Cloudflare Proxy.

 

Bearbeite mal die nextcloud config.php und füge nach <?php das ein:

var_dump($_SERVER);

 

Beim Aufruf von Nextcloud während Cloudflare aktiv ist, solltest du nun alle HTTP Variablen sehen. Auch die "HTTP_CF_CONNECTING_IP", falls das überhaupt stimmt.

 

Ich kann mir übgrigens vorstellen, dass NPM der Proxy ist, den Nextcloud sieht und der die Variable "verschluckt". Dh Nextcloud sieht alls REMOT_ADDR gar nicht die von Cloudflare, sondern die lokale von NPM. Aber das wirst du durch die Ausgabe von $_SERVER sehen.

  • Author

Ich lege im NPM den Host, wähle Request a new SSL Certificate und anschließend DNS Challenge aus.

Die DNS Zone und den A-Eintrag gibts es bereits.

Wird DNS Challenge verwendet um den DNS-Eintrag inkl. Zertifikat anzufordern ?



 

 

Ich glaube nicht dass es Angriffe sind.

Selbst nach Deaktivierung von Brute-Force entstehen die Fehlermeldung die Fehlermeldung wird von dem Core-Modul, also von Nextcloud generiert.

 

Danke für die Tipps - Ich werd es mal versuchen :)

 


 

 

 

 

 

Edited by h0schi

  • Community Expert
16 hours ago, h0schi said:

Selbst nach Deaktivierung von Brute-Force entstehen die Fehlermeldung

 

Was auch völlig normal ist. Die Fehlermeldungen sagen ja nur aus, dass jemand beim Login das falsche Passwort eingegeben hat.

 

Eine Brute-Force-Attacke macht das, nur eben sehr schnell. Ein Schutz, reduziert dabei die Angriffsgeschwindigkeit. Im Falle von Nextcloud wird die IP für 24 Stunden gesperrt:

Quote

If triggered, brute force protection makes requests coming from an IP on a bruteforce protected controller with the same API slower for a 24 hour period.

 

In deinem Fall verursacht das nur das zusätzliche Problem, dass auch reguläre Nutzer keinen Login mehr tätigen können, wenn sie über die selbe Proxy IP von Cloudflare reinkommen. Aber das ist ein anderes Thema.

 

16 hours ago, h0schi said:

Ich lege im NPM den Host, wähle Request a new SSL Certificate und anschließend DNS Challenge aus.

Und ich frage noch mal. Warum willst du ein Zertifikat von Cloudflare nehmen und keines von Let's Encrypt? Hast du es mal mit Lets Encrypt versucht? Dafür muss Port 80 auf NPM geleitet werden, ansonsten kann er das Zertifikat nicht validieren.

 

Ansonsten lies mal hier:

https://github.com/jc21/nginx-proxy-manager/issues/680

  • Author

Ich setz es aktuell gerade neu auf und versuch es mal mit dem "normalen" Lets Encrypt-Zertifikat und mit einem anderen Docker-Container.

Das CF-Zertifikat wählte ich, da ich es einfach für eine gute Idee hielt :)

  • Author

Habs hinbekommen.

Hab die Umgebung (Nextcloud, MariaDB und NPM) neu installiert.

 

Hab per NPM über die Lets Encrypt DNS-Challenge das Wildcard-Zertifikat von Cloudflare geholt und eingebunden.

 

Nach dem Einbinden des CF-Zertifikats war Nextcloud erreichbar.

Unter den Logs waren die dauerhaften Fehlversuche verschwunden.

 

Bei einem fehlerhaften Anmeldeversuch wird bis dahin die IP-Adresse von Cloudflare angezeigt.

Durch hinzufügen folgender beider Zeilen in der config.php bekommt man bei fehlerhaften Anmeldeversuche die wirkliche IP-Adresse angezeigt:

 

Quote

  'trusted_proxies' => array (
  '173.245.48.0/20', '103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22', '141.101.64.0/18', '108.162.192.0/18', '190.93.240.0/20', '188.114.96.0/20', '197.234.240.0/22', '198.41.128.0/17', '162.158.0.0/15', '104.16.0.0/12', '172.64.0.0/13', '131.0.72.0/22', '2400:cb00::/32', '2606:4700::/32', '2803:f800::/32', '2405:b500::/32', '2405:8100::/32', '2a06:98c0::/29', '2c0f:f248::/32'
),

 

Quote

'forwarded_for_headers' => array('HTTP_CF_CONNECTING_IP'),

 

Cloudflare IP-Ranges:

https://www.cloudflare.com/ips/

 

 

Bei NPM habe ich unter dem betroffenen Proxy Host unter dem Tab "Advanced" folgende Custom Nginx Configuration eingetragen:

 

Quote

    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_max_temp_file_size 16384m;
    client_max_body_size 0;

 

location /.well-known/carddav {
    return 301 $scheme://$host/remote.php/dav;
}

location /.well-known/caldav {
    return 301 $scheme://$host/remote.php/dav;
}

 

 

Weiß Jemand wie man den Befehl "occ db:add-missing-indices" in dem Nextcloud-Container von knex666 ausführt ?

Ich bekomme egal was ich mache immer wieder die Meldung und komme anschließend leider nicht weiter.

Quote

Console has to be executed with the user that owns the file config/config.php
Current user id: 0
Owner id of config.php: 33
Try adding 'sudo -u #33' to the beginning of the command (without the single quotes)
If running with 'docker exec' try adding the option '-u 33' to the docker command (without the single quotes)

 

 

 

Edited by h0schi

  • Community Expert
3 hours ago, h0schi said:

Weiß Jemand wie man den Befehl "occ db:add-missing-indices" in dem Nextcloud-Container von knex666 ausführt ?

Wer sagt, dass man das machen müsste? Das lese ich immer wieder. Woher kommt diese Aussage?

  • Author

Nextcloud selbst gibt die Empfehlung.

Zumindestens wirds als Warnung auf dem Webinterface unter Übersicht angezeigt.

  • Community Expert

Hab ich noch nicht gesehen. Komisch.

 

occ kann man zb so über das WebTerminal ausführen:

docker exec --user www-data Nextcloud php occ yourCommandHere

 

  • Author

Hat funktioniert - Dank dir :)

 

Bei Cloudflare sind noch folgende Page Rules zu empfehlen:

- Auto Minify: Aus

- Cache-Level: Umgehen

- Performance deaktivieren

 

Die Funktion „Cache Assets“ beim NPM hat ein paar Probleme verursacht, worauf ich sie deaktiviert hab.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.