Dns_get_record() Fehler in NC 26.0.2

Hallo zusammen

Ich habe auf einem ubuntu 22.04 mittels docker-compose folgende Container ausgerollt:
services:
app: nextcloud (Version 26.0.2)
db: mariadb:10.6
redis: redis:alpine

networks:
NET: bridged

Alle Services haben eine statische-Adresse in dem Netzwerk.

Mein Nextcloud-Log wird geflutet von folgenden Fehlern:
dns_get_record(): A temporary server error occurred. at /var/www/html/lib/private/Http/Client/DnsPinMiddleware.php#84

Folgendes Troubleshooting habe ich durchgeführt:

sudo docker exec -it nextcloud_app /bin/bash
apt install iputils-ping -y
ping google.com

DNS scheint soweit zu funktionieren…

Warum erhalte ich diese Fehler im log? Was kann ich dagegen tun?
Besten Dank im Voraus!

hallo @Simon_Felder willkommen im Forum :handshake:

den Fehler erhälst du vermutlich wegen der internen Kommunikation… versuche die Namen der anderen Container aufzulösen…

erst mal indem du mehr Informationen teilst. Es gibt nicht ohne Grund ein support template.

Grundsätzlich hilft immer strukturiertes Vorgehen: starte mit einer einfachen Konfiguration wie sie in .examples beschrieben ist und füge schrittweise Komplexität hinzu. wenn du sauber arbeitest wirst du merken welcher Schritt den Fehler produziert…

Ich weiss nicht ob das mit dem Fehler zusammenhängt aber statische IP adressen sind bei Containern “falsch”… Man kann das machen, das zeigt aber dass man Container für etwas verwendet das besser anders gelöst wäre…

Hi wwe

Danke für Deine Antwort und Sorry für meine ungenügende Beschreibung. Ich habe jetzt alle Infos, so gut ich konnte, zusammengetragen:

Nextcloud version: 26.0.2
Operating system and version: Ubuntu Server 22.04.2 LTS
Apache or nginx version: 2.4.56 (Debian)
PHP version: 8.2.7
Database MariaDB 10.6.13
Docker ja, compose
Snap nein
Is this the first time you’ve seen this error? ja

The issue you are facing:

  • Steps to replicate it:

Der Fehler tritt mit der minimalst Konfiguration bereits auf:
docker-compose.yml:

version: '2'
services:
  db:
    image: mariadb:10.6
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    environment:
      - MYSQL_ROOT_PASSWORD=dbroot
      - MYSQL_PASSWORD=dbpw
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
  app:
    image: nextcloud
    restart: always
    ports:
      - 33333:80
    links:
      - db
    environment:
      - MYSQL_PASSWORD=dbpw
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
  • The output of your Nextcloud log in Admin > Logging:
{"reqId":"z2nMmmIShYAZ5gdc30Gq","level":3,"time":"2023-06-13T06:38:35+00:00","remoteAddr":"XXX.XXX.XXX.XXX","user":"admin","app":"PHP","method":"GET","url":"/settings/ajax/checksetup","message":"dns_get_record(): A temporary server error occurred. at /var/www/html/lib/private/Http/Client/DnsPinMiddleware.php#84","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37","version":"26.0.2.1","data":{"app":"PHP"},"id":"64880eebc05a1"}

Es gab noch weitere Fehler im log bezüglich der Verwendung von Variablen in Strings ausgehend vom Compiler.php. Diese konnte ich aber durch das manuelle Anpassen der Compiler.php beheben.

Ich habe ein Problem, dass bei geteilten Dateien die Links sehr langsam aufgelöst werden (ca. 10s) deshalb habe ich dann noch ein redis hinzugefügt, was bisher aber nicht den gewünschten Erfolg gebracht hat… Dieses Problem muss ich aber erst noch näher googlen und würde dann einen eigenen Thread hier im Forum geben.

Da ja offensichtlich ein DNS-Problem vorliegt, habe ich das Docker-Netzwerk manuell konfiguriert und den Containern statische Adressen vergeben. Leider hat das auch nicht den gewünschten Erfolg gebracht.

Zum Troubleshooten habe ich mich in den Container “app” verbunden und ping nachinstalliert.
ping db wie auch ping google.com werden aber problemlos aufgelöst. Somit scheint DNS ja grundsätzlich zu funktionieren…

Ich hoffe, dass ich nun genügen Infos liefern konnte, damit mir hier jemand helfen kann…

Herzlichen Dank im Voraus!

ich schätze dann stimmt etwas mit deiner Docker Installation nicht oder du hast die etwas zu viel customized…

Habe ich bisher nicht gehört… und es wäre sicher nicht das Ziel. Ich habe in meiner Installation das Problem dass Container warum auch immer den DNS vom Container auf dem gleichen host nicht (gut) verwenden können… der Umweg über den Router aber super funktioniert… schaue dir die DNS config des hosts und auch innerhalb von Containern (docker inspect)

Container und die enthaltene Software dürfen sollen nicht verändert werden.

Kannst du bitte “sehr langsam aufgelöst” genauer beschreiben? Wenn es darum geht dass der Empfänger des Shares lange zum auflösen der NC URL braucht hat das nichts mit dem DNS innerhalb des Containers zu tun… und Redis würde auch wenig dagegen helfen.

DNS funktioniert unter Docker von allein und das Problem scheint ein weiterer Hinweis darauf zu sein dass deine Docker Installation grundsätzlich ein Problem hat… Lese dich in die Docker config ein und versuche mit einem Container (eventuell etwas kleineres nehmen wie alpine oder minimal debian) auf der console den Fehler einzugrenzen und zu beheben, vermutlich wird dann die Lösung für den Rest auch klar…

Sonst habe ich noch diese Bug Reports gefunden, leider ohne Lösung aber eventuell hilft es dir bei der Fehlersuche

Ich hab da gar nichts customized. ubuntu installieren, docker installieren, nextcloud mit oben beschriebenen yml ausrollen und der Fehler ist da. Die yml stammt übrigens aus dem offiziellen Docker Hub. Ich hab lediglich für den Test die persistent volumes entfernt…

Das Problem hat sich mit dem Update auf 27.0.0 erledigt.

Nun ja, der Empfänger musste vom Klick bis zum Seitenaufbau ca. 10s warten. Und das auch im lokalen Netz, wo auch die nextcloud steht. Dass das nichts mit dem DNS-Problem zu tun hat, ist klar. Hab ja geschrieben, dass das dann später mal einen neuen Thread geben wird… Aber auch dieses Problem hat sich mit dem Update auf 27.0.0 erledigt.

Funktioniert ja auch. Wie gesagt, der Container kann die anderen Container wie auch die Welt über Namen anpingen.
Das Problem scheint nur php zu haben. Selbst habe ich da wohl kaum Einfluss darauf, da es Bestandteil vom nextcloud-Container ist… Ich muss wohl einfach damit leben…

Ja, gegoogelt habe ich natürlich auch schon… Aber:

  1. Keine Lösung in Sicht
  2. Jeweils eine ätere NC Version

This topic was automatically closed after 16 days. New replies are no longer allowed.