Opencloud is reachable from external internet but not by local IP
from imetators@lemmy.dbzer0.com to selfhosted@lemmy.world on 29 Apr 11:19
https://lemmy.dbzer0.com/post/67965070

Managed to spin up Opencloud on my NAS. I put a host entry in NPM and it seems to be working. From external internet I can log in and upload files with no issues. But whenever I try to reach it through local IP and port, page loads but stays completely blank.

Googling didn’t give reasonable leads. Has anyone had similar issue that they’ve fixed?

#selfhosted

threaded - newest

anamethatisnt@sopuli.xyz on 29 Apr 11:25 next collapse

Look into NAT hairpinning on your router/firewall and see if you can use the external ip. :)

imetators@lemmy.dbzer0.com on 29 Apr 12:02 collapse

Is it similar to say Local DNS records? Cause I’ve tried to set it up and a few services worked. I could ping domain name and get local IP in return.

But at some point everything stopped working and none of domains would return with any IP. I am yet to figure out why. I suspect that I was probably got banned by fail2ban, even tho I have checked jails and local IPs were not on the list.

anamethatisnt@sopuli.xyz on 29 Apr 13:35 collapse

Kinda the opposite, NAT Hairpinning allows you to use the external domain and public IP from the inside.
docs.opnsense.org/manual/…/nat_reflection.html#re…

WIPocket@lemmy.world on 29 Apr 11:47 next collapse

What is the status code of that page? Is it actually an empty response, or does it just look blank in a browser?

When you access it from the internet, do you use an ip and port or a domain name? My first guess is that you entered the domain name somewhere in the config of either Opencloud or a reverse proxy, and the mismatch (between the expected domain name and the ip address used instead) is what causes trouble.

imetators@lemmy.dbzer0.com on 29 Apr 11:54 collapse

I set it to my domain.

If i type oc.mydomain.com, page loads. If I type 192.168.1.99:9200, page seems to load at an instant but is clear white. No error codes. Browser detects that page has no SSL certificate. SSL cert should not be the issue as any other service I run across all devices including this one does work without a cert. It is just this one doesn’t

frongt@lemmy.zip on 29 Apr 12:17 collapse

So you get an http 200? What’s in the log?

imetators@lemmy.dbzer0.com on 29 Apr 12:46 collapse
Opencloud log:

{“level”:“info”,“service”:“proxy”,“proto”:“HTTP/1.1”,“request-id”:“8a3e3843-6d22-4caf-b676-24d990dcf4da”,“traceid”:“b2b46d4e445e2323954409b31d19851d”,“remote-addr”:“work ip address”,“method”:“PROPFIND”,“status”:207,“path”:“/remote.php/dav/spaces/a0ebc43e-12ce-4f1f-951e-3f2ba80564ab$0f1e2f93-c7a7-4ecb-b825-d47abee250f2”,“duration”:279.156444,“bytes”:1493,“time”:“2026-04-29T12:26:55Z”,“line”:“github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware/accesslog.go:34”,“message”:“access-log”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“8f52659d44e2253f431fbed3ba8b1dc5”,“time”:“2026-04-29T12:27:13Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“8551e2dbf6821aea868ef1ca67c751ad”,“time”:“2026-04-29T12:28:12Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“9ba91e889774d1cf61f196f4cf23a92a”,“time”:“2026-04-29T12:29:13Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“bf9181c41b2f6166cd4e381bc1964a6c”,“time”:“2026-04-29T12:30:12Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“59d0e3b7e8b39a4743460025410f90df”,“time”:“2026-04-29T12:31:13Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“ac52c23e67bcaab083b839f62bea8551”,“time”:“2026-04-29T12:32:12Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“d1216cc65676a0926f325b65ffa22142”,“time”:“2026-04-29T12:33:13Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“a0c39b7d1f090ee4598ed316afce2600”,“time”:“2026-04-29T12:34:12Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,“traceid”:“c082ff54a4708083426693887ccecd94”,“time”:“2026-04-29T12:35:13Z”,“line”:“github.com/opencloud-eu/reva/v2@v2.42.6/internal/grpc/services/authprovider/authprovider.go:146”,“message”:“user idp:"internal" opaque_id:"247cdd12-e7b8-44cb-86c4-912aa681a567" type:USER_TYPE_SERVICE authenticated”} {“level”:“info”,“service”:“storage-system”,“host.name”:“9199dd415038”,“pkg”:“rgrpc”,

rtxn@lemmy.world on 29 Apr 11:48 next collapse

Open config.php and look for the entry named trusted_domains. Make sure it contains both the domain name and the local IP address:

'trusted_domains' => array(
    0 => 'nextcloud.your.domain',         // the public FQDN
    1 => '172.22.?.?',                    // the local IP address
    2 => '...',                           // other addresses, like if you're using a VPN
),

If the web app is opened using an address or DNS name that isn’t included in this list, the browser will connect, but the app will refuse to work.

Nevermind, I completely overlooked that the service is Opencloud, not Nextcloud. Nevertheless, you should investigate whether Opencloud has an equivalent config variable.

imetators@lemmy.dbzer0.com on 29 Apr 11:56 next collapse

Where do I find config.php? Initially I haven’t set a config directory in .env that should result in config stored in a docker volume. I have explored docker volume and found no such file. Docker compose folder also has none.

imetators@lemmy.dbzer0.com on 29 Apr 13:04 collapse

Rip me then. I am struggling to find anything. Most links forward to owncloud.

surewhynotlem@lemmy.world on 29 Apr 13:29 next collapse

Check OC_CORS_ALLOW_ORIGINS and WEB_CORS_ALLOW_ORIGINS

Decronym@lemmy.decronym.xyz on 29 Apr 13:40 collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
HTTP Hypertext Transfer Protocol, the Web
IP Internet Protocol
NAT Network Address Translation
SSL Secure Sockets Layer, for transparent encryption
VPN Virtual Private Network

[Thread #262 for this comm, first seen 29th Apr 2026, 13:40] [FAQ] [Full list] [Contact] [Source code]