Entorno: Ubuntu 18, Apache2, XWiki 12.1 en JETTY 9.4
Tengo xwiki en https://wiki.company.com:8443/xwiki/ y me gustaría ocultar el puerto 8443 y opcionalmente /xwiki/ . He probado con virtualhost:
<VirtualHost *:443> ProxyPreserveHost On SSLProxyEngine On SSLProxyCheckPeerCN Off SSLCertificateFile /etc/ssl/certs/company.crt SSLCertificateKeyFile /etc/ssl/private/comapny.key ProxyPass / https://wiki.company.com:8443/xwiki/ ProxyPassReverse / https://wiki.company.com:8443/xwiki/ </VirtualHost> Esta solución similar funciona para muchos proyectos pero no para xwiki. El problema es que en esta solución, xwiki tiene problemas para cargar algunos archivos porque aún intenta cargar archivos desde https://wiki.company.com/xwiki/webjars/wiki%3Axwiki/drawer/2.4.0/css/drawer.min.css
en vez de
https://wiki.hl-display.com/webjars/wiki%3Axwiki/drawer/2.4.0/css/drawer.min.css
Entonces, tal vez haya alguna otra solución como eliminar xwiki
ProxyPass / https://wiki.company.com:8443/ ProxyPassReverse / https://wiki.company.com:8443/ y redirigir al usuario cuando ingrese en el navegador exactamente https://wiki.company.com a https://wiki.company.com/xwiki/
O mod reescribir para reemplazar la cadena
https://wiki.company.com/xwiki/hhh/jjj/aaa
Para
https://wiki.company.com/hhh/jjj/aaa ?
He probado muchas configuraciones pero sin ningún éxito :(
OK, encontré la solución :) Al agregar 3 líneas en VirtualHost
RewriteCond %{HTTP_HOST} wiki.company.com$ [NC] RewriteCond %{REQUEST_URI} !^/xwiki/(.*)$ RewriteRule ^(.*)$ /xwiki/ [R=301,L] Entonces, cuando el usuario ingrese la URL exacta: https://wiki.company.com , se redirigirá a https://wiki.company.com\xwiki\ . Entonces wiki funciona, el puerto está oculto y la URL agradable funciona :)
entonces el código completo es:
<VirtualHost *:443> ProxyPreserveHost On SSLProxyEngine On SSLProxyCheckPeerCN Off SSLCertificateFile /etc/ssl/certs/company.crt SSLCertificateKeyFile /etc/ssl/private/company.key RewriteEngine on ServerName https://wiki.company.com RewriteCond %{HTTP_HOST} wiki.company.com$ [NC] RewriteCond %{REQUEST_URI} !^/xwiki/(.*)$ RewriteRule ^(.*)$ /xwiki/ [R=301,L] ProxyPass / https://wiki.company.com:8443/ ProxyPassReverse / https://wiki.company.com:8443/ </VirtualHost>