Hello!
I have this problem and trying to get it to work since a few weeks. I had a similar setup with owncloud and nginx, which worked well for several years.
Setup:
I have a home-server with Nextcloud 10 called cloud.home.domain.tld.
Due to the lack of a static ip address (i don’t want to use dyndns), i also have a hosted virtual server called cloud.domain.tld, which serves as reverse http/https-proxy.
home-server and hosted server are connected via openvpn.
OS: Debian 8.6 (latest, on both server)
Webserver: Apache 2.6 (on both server)
Nextcloud: 10.0.1
What i want to do:
I want to connect directly to my home-server from my pc at home (same lan) via cloud.home.domain.tld for maximum performance (no ssl requiered).
Other mobile devices like smartphone and tables should access the server using the reverse-proxy (SSL!) installed on the hosted server.
What works:
It works perfectly via reverse-proxy and public ip-addresses from anywhere.
What does not work / Problem:
When i try to access the home-server from my home-pc (lan), the address “cloud.home.domain.tld” gets rewritten to “cloud.domain.tld”.
The connection gets forced through the reverse-proxy and back, resulting in bad performance.
Picture of my setup
Reverse-Proxy Configuration on cloud.domain.tld
< IfModule mod_ssl.c>
< VirtualHost *:443>
ServerName cloud.domain.tld
ProxyPass “/” “http://cloud.home.domain.tld”
ProxyPassReverse “/” “cloud.home.domain.tld”
SSLCertificateFile /etc/letsencrypt/live/cloud.domain.tld/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/cloud.domain.tld/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf
< /VirtualHost>
< /IfModule>
Nextcloud Apache
There are currently no other sites on the server, nextcloud is the default site.
< VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /data/nextcloud
< Directory /data/nextcloud/>
Options +FollowSymlinks
AllowOverride All
< IfModule mod_dav.c>
Dav off
< /IfModule>
SetEnv HOME /data/nextcloud
SetEnv HTTP_HOME /data/nextcloud
< /Directory>
< /VirtualHost>
Nextcloud config.php
<?php $CONFIG = array ( 'instanceid' => 'SECRET', 'passwordsalt' => 'SECRET', 'secret' => 'SECRET', 'trusted_domains' => array ( 0 => '10.42.42.1', 1 => 'cloud.domain.tld', 2 => 'cloud.home.domain.tld', ), 'datadirectory' => '/data/nextcloud/data', // Reverse Proxy Config **'overwrite.cli.url' => 'http://cloud.domain.tld',** **'overwritehost' => 'cloud.domain.tld',** **'overwriteprotocol' => 'https',**
‘dbtype’ => ‘mysql’,
‘version’ => ‘9.1.1.5’,
‘dbname’ => ‘nextcloud’,
‘dbhost’ => ‘localhost’,
‘dbport’ => ‘’,
‘dbtableprefix’ => ‘oc_’,
‘dbuser’ => ‘oc_admin’,
‘dbpassword’ => ‘SECRET’,
‘logtimezone’ => ‘UTC’,
‘installed’ => true,
);
What i’ve tested:
DNS-Resolution (both domain) is ok.
OpenVPN is ok.
Apache is ok.
The setup works perfectly with static or test-html sites.
If i delete the three bold lines in my config.php, the server is accessible from the home-lan, but not from the reverse-proxy.
If somebody has a clue what i’ve done wrong or has some tips, please let me now. I start to get really desperate and any help is appreciated!
Marc