AIO install unable to connect to domain

Recently installed Nextcloud via the AIO installer on my Ubuntu 22.04 LTS host system. Installed via reverse proxy as there are other services on the server. Nextcloud appears to be functioning appropriately: I’m able to access via the web, complete the install, verify domain, upload files, etc. However, the logs are filled with errors about being unable to connect to the domain, and the setup warnings are filled with alerts about being unable to resolve and connect.

Static IPv4 address from the ISP, no IPv6 support at this time. Router configured to forward ports 80 and 443 (among others) to the internal IP of the server.

New to Nextcloud so I am not 100% sure what to share.

Nginx on host:

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

server {
    if ($host = <REDACTED>) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;
#        listen [::]:80;
        server_name <REDACTED>;
        return 301 https://$server_name$request_uri;


}

server {
    listen 443 ssl http2;
    server_name <REDACTED>;
    include snippets/ssl-<REDACTED>.conf;
    include snippets/ssl-params.conf;

    proxy_buffering off;
    proxy_request_buffering off;

    client_max_body_size 0;
    client_body_buffer_size 512k;
    proxy_read_timeout 86400s;

    location / {
        proxy_pass http://127.0.0.1:11000$request_uri;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Scheme $scheme;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header Early-Data $ssl_early_data;

        # Websocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }

    ssl_certificate /etc/letsencrypt/live/<REDACTED>/fullchain.pem;   # managed by certbot on host machine
    ssl_certificate_key /etc/letsencrypt/live/<REDACTED>/privkey.pem; # managed by certbot on host machine

}

The warnings:

Some log entries:

{"reqId":"iavM1FqQiHvNbFXaASA4","level":3,"time":"2025-04-14T06:43:05+00:00","remoteAddr":"192.168.1.1","user":"admin","app":"PHP","method":"GET","url":"/settings/ajax/checksetup","message":"stream_socket_client(): Unable to connect to ssl://<REDACTED>:443 (Connection refused) at /var/www/html/custom_apps/spreed/lib/Service/CertificateService.php#90","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36","version":"31.0.3.2","data":{"app":"PHP"},"id":"67fcafa3f2f14"}
{"reqId":"nLOG4tmqQr8FjBSr5fMh","level":3,"time":"2025-04-14T06:39:59+00:00","remoteAddr":"","user":false,"app":"spreed","method":"","url":"--","message":"Failed to send message to signaling server, giving up!","userAgent":"--","version":"31.0.3.2","exception":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 7: Failed to connect to <REDACTED> port 443 after 0 ms: Could not connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://<REDACTED>/standalone-signaling/api/v1/room/itk96vs6","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":205,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":157,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":142,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/DnsPinMiddleware.php","line":109,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":64,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":66,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":333,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":169,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/Client.php","line":277,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",{"0":"And 1 more entries, set log level to debug to see all entries","verify":"/var/www/html/resources/config/ca-bundle.crt","timeout":30,"headers":{"0":"And 1 more entries, set log level to debug to see all entries","Content-Type":"application/json","Spreed-Signaling-Random":"uXuMw1SSS2M6wPuG6ksIYFKaK0HbkgIXktsS7F93NgpHfqpTVXvYo7AeyxRzB+xB","Spreed-Signaling-Checksum":"532a26c04da79734a852fcbb663c83a1083809d91e262115b4ad45ba0d8443cd","Spreed-Signaling-Backend":"https://<REDACTED>/","User-Agent":"Nextcloud Server Crawler"},"body":"{\"type\":\"delete\",\"delete\":{\"userids\":[]}}","nextcloud":{"allow_local_address":true}}]},{"file":"/var/www/html/custom_apps/spreed/lib/Signaling/BackendNotifier.php","line":57,"function":"post","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/custom_apps/spreed/lib/Signaling/BackendNotifier.php","line":67,"function":"doRequest","class":"OCA\\Talk\\Signaling\\BackendNotifier","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",1]},{"file":"/var/www/html/custom_apps/spreed/lib/Signaling/BackendNotifier.php","line":67,"function":"doRequest","class":"OCA\\Talk\\Signaling\\BackendNotifier","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",2]},{"file":"/var/www/html/custom_apps/spreed/lib/Signaling/BackendNotifier.php","line":134,"function":"doRequest","class":"OCA\\Talk\\Signaling\\BackendNotifier","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/custom_apps/spreed/lib/Signaling/BackendNotifier.php","line":272,"function":"backendRequest","class":"OCA\\Talk\\Signaling\\BackendNotifier","type":"->","args":[{"__class__":"OCA\\Talk\\Room"},{"type":"delete","delete":{"userids":[]}}]},{"file":"/var/www/html/custom_apps/spreed/lib/Signaling/Listener.php","line":219,"function":"roomDeleted","class":"OCA\\Talk\\Signaling\\BackendNotifier","type":"->","args":[{"__class__":"OCA\\Talk\\Room"},[]]},{"file":"/var/www/html/custom_apps/spreed/lib/Signaling/Listener.php","line":130,"function":"notifyBeforeRoomDeleted","class":"OCA\\Talk\\Signaling\\Listener","type":"->","args":[{"__class__":"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"}]},{"file":"/var/www/html/custom_apps/spreed/lib/Signaling/Listener.php","line":81,"function":"handleExternalSignaling","class":"OCA\\Talk\\Signaling\\Listener","type":"->","args":[{"__class__":"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"}]},{"file":"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php","line":68,"function":"handle","class":"OCA\\Talk\\Signaling\\Listener","type":"->","args":[{"__class__":"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"}]},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":220,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->","args":[{"__class__":"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"},"OCA\\Talk\\Events\\BeforeRoomDeletedEvent",{"__class__":"Symfony\\Component\\EventDispatcher\\EventDispatcher"}]},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":56,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->","args":[[{"__class__":"Closure"},{"__class__":"Closure"}],"OCA\\Talk\\Events\\BeforeRoomDeletedEvent",{"__class__":"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"}]},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":67,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->","args":[{"__class__":"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"},"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"]},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":79,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->","args":["OCA\\Talk\\Events\\BeforeRoomDeletedEvent",{"__class__":"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"}]},{"file":"/var/www/html/custom_apps/spreed/lib/Service/RoomService.php","line":1229,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->","args":[{"__class__":"OCA\\Talk\\Events\\BeforeRoomDeletedEvent"}]},{"file":"/var/www/html/custom_apps/spreed/lib/BackgroundJob/RemoveEmptyRooms.php","line":103,"function":"deleteRoom","class":"OCA\\Talk\\Service\\RoomService","type":"->","args":[{"__class__":"OCA\\Talk\\Room"}]},{"file":"/var/www/html/custom_apps/spreed/lib/BackgroundJob/RemoveEmptyRooms.php","line":84,"function":"doDeleteRoom","class":"OCA\\Talk\\BackgroundJob\\RemoveEmptyRooms","type":"->","args":[{"__class__":"OCA\\Talk\\Room"}]},{"file":"/var/www/html/custom_apps/spreed/lib/BackgroundJob/RemoveEmptyRooms.php","line":63,"function":"deleteIfIsEmpty","class":"OCA\\Talk\\BackgroundJob\\RemoveEmptyRooms","type":"->","args":[{"__class__":"OCA\\Talk\\Room"}]},{"file":"/var/www/html/custom_apps/spreed/lib/Manager.php","line":83,"function":"callback","class":"OCA\\Talk\\BackgroundJob\\RemoveEmptyRooms","type":"->","args":[{"__class__":"OCA\\Talk\\Room"}]},{"file":"/var/www/html/custom_apps/spreed/lib/BackgroundJob/RemoveEmptyRooms.php","line":49,"function":"forAllRooms","class":"OCA\\Talk\\Manager","type":"->","args":[[{"__class__":"OCA\\Talk\\BackgroundJob\\RemoveEmptyRooms"},"callback"]]},{"file":"/var/www/html/lib/public/BackgroundJob/Job.php","line":61,"function":"run","class":"OCA\\Talk\\BackgroundJob\\RemoveEmptyRooms","type":"->","args":[null]},{"file":"/var/www/html/lib/public/BackgroundJob/TimedJob.php","line":97,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/lib/public/BackgroundJob/TimedJob.php","line":84,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/cron.php","line":170,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":275,"message":"Failed to send message to signaling server, giving up!","exception":[],"CustomMessage":"Failed to send message to signaling server, giving up!"},"id":"67fcadc2116b1"}

I’m using a similar setup – Nextcloud AIO behind a reverse proxy, but in my case it’s an NGINX Proxy Server running on a separate VM.

You can check out my full configuration here:
:point_right: [Solved] Docker based NextCloud AiO with nginx on separate Ubuntu VM - not working - #6 by vawaver

Maybe it’ll help you identify the issue.

1 Like

Thanks @vawaver, I read through that topic, unfortunately not seeing anything. Nextcloud is working just fine (it seems), it’s just all the warnings/log entries that are concerning me that something isn’t actually working.

The contents of the support template would be a good start. :wink:

Nearly all of those errors appear to be because your instance is unable to connect back to itself.

The url in overwrite.cli.url in your Nextcloud config (as well as trusted_domains) are utilized for the setup checks.

So check:

  • the values there
  • whether your Nextcloud container can connect to its own URL (by running curl or similar from the command line in the container)
  • Nextcloud Server version:
    31.0.3
  • Operating system and version:
    Ubuntu 22.04.5
  • Reverse proxy and version:
    nginx/1.18.0
  • PHP version:
    8.1.2
  • Is this the first time you’ve seen this error?
    Yes
  • When did this problem seem to first start?
    First Install
  • Installation method
    AIO
  • Are you using Cloudflare, mod_security, or similar?
    No

That’s what I was thinking from my searching before posting.

trusted_domains includes localhost as well as the FQDN of the nextcloud instance. overwrite.cli.url includes the FQDN as well, plus the scheme (with escaped slashes). The values are what I’d expect.

I see many containers running. From which one do I want to test this?

I am having the same issue. I have a fully functional Nextcloud AOI install with all of the same issues. I installed a Portainer agent on the server running Nextcloud. I can see 14 containers . All are running except the [nextcloud-aio-domaincheck]…

When I try to run the stopped container, I get this error…

I have the Apache2 port set as 11001. Not sure why there is a conflict.

I am running a nginx reverse proxy (NPM) on another local server.

Any ideas? Thanks