Ok j'essaye de comprendre :
J'ai une requête qui arrive sur mon domaine principal sur la sme.
Là, si j'ai un ebay de prévu, ca la route dessus.
Si je n'ai pas d'ebay ca route vers la primary qui est l'ebay par défaut.
sauf que si j'ai un virtualhost qui existe, bascule vers ce site.
Ainsi dans /home/e-smith/db/domains j'ai pu voir pour nextcloud cette ligne :
cloud.domain.com=domain|Content|Primary|Description|Nextcloud|DocumentRoot|/usr/share/nextcloud|Nameservers|internet|RequireSSL|enable|TemplatePath|WebAppVirtualHost|letsencryptSSLcert|enabled
Je pense que c'est WebAppVirtualHost qui fait le reverse proxy
D'ailleurs, quelle est la différence avec ProxyPassVirtualHosts ?
J'ai remarqué par ailleurs que le virtualhost pour collabora.domain.com arrivait après tous les autres. Ca aurait un effet donc ?
nextcloud utilise la propriété
TemplatePath
cela indique au template d'au lieu d'utiliser le sous template (lire sous dossier) VirtualHosts/ pour créer un virtualhost, de choisir plutot le sous template WebAppVirtualHost
Actuellement nous en avons 3 possible, mais rien ne t'empeche de creer le tiens ... ProxyPassVirtualHosts/ VirtualHosts/ et
WebAppVirtualHost/
Habituellement si tu utilises ProxyPassVirtualHosts/ il te faut aussi definir d'autre propriétés pour indiquer vers où pointe ton Proxy http
Dans le cas de collabora, un fragment de template a été créé pour faire le travail d'un sous template appelé par le fragment 80VirtualHosts dans /etc/e-smith/templates/etc/httpd/conf/httpd.conf/
dans ce fragment 80VirtualHosts qui appelle ces fameux sous templates, tu peux lire clairement
my @domains = $db->get_all_by_prop('type' => 'domain');
ce qui veut dire sélectionnons toutes les entrées du type "domain"
dans le cas de let's encrypt / dehydrated nous selectionnons toutes les entrées de la base domain quelque soit le type,
my @domains = $domainsDB->keys;
Collabora utililise le fragment suivant a la place
80VirtualHostsCollabora; mais il tu dosi bien renseigner le domaine dans la propriété VirtualHost de la clef coolwsd de la base configuration pour que ce template soit utilisé
en résumé ton domaine collabora doit etre, comme indiqué dans le wiki :
# creation du domaine pour qu'il soit vu par dehydrated et soit dans le certificat SSL
db domain set collabora.mydomain.com domainle Content Primary Description collabora Nameservers internet letsencryptSSLcert enabled
signal-event domain-create collabora.mydomain.com
expand-template /etc/dehydrated/domains
dehydrated -c
#creation du d Virtualhost dedié dans le serveur apache.
db configuration setprop coolwsd VirtualHost collabora.mondomaine.com
signal-event smeserver-collabora-update
le port 9980 n'est pas accessible volontairement de l'exterieur de ton serveur, car ton serveur apache le retranscrit sur le port 443 protégé par sa connexion securisée.