Die Tomcat Server kann hinter einem Apache Reverse Proxy betrieben werden. Dies ist z.B. notwendig wenn die Nuclos Instanz über HTTPS zur Verfügung gestellt werden soll, der Port 443 aber schon von einer anderen Webanwendung oder Nuclos Instanz benutzt wird.
Tomcat konfigurieren
Es muss der AJP-Connector aktiviert werden.
Das geht seit Nuclos 4.8.0 direkt über den Installer im Schritt "Server-Konfiguration".
Eine manuelle Anpassung der Tomcat-Konfiguration ist nicht nötig.
Apache konfigurieren für den Rich-Client (Java Web Start)
Danach muss eine neue Apache Vhost Konfiguration erstellt werden. Die Domain (nuclet.nuclos.de) muss entsprechend angepasst werden.
<VirtualHost *:80> ServerName nuclet.nuclos.de ServerAlias nuclet.nuclos.de Redirect 301 / https://nuclet.nuclos.de/ </VirtualHost> <VirtualHost *:443> ServerName nuclet.nuclos.de ServerAlias nuclet.nuclos.de ProxyRequests Off SSLEngine on SSLCertificateKeyFile /etc/apache2/ssl/nuclet.nuclos.de/nuclet.nuclos.de.key SSLCertificateFile /etc/apache2/ssl/nuclet.nuclos.de/nuclet.nuclos.de.crt SSLCertificateChainFile /etc/apache2/ssl/nuclet.nuclos.de/Intermediate_CA_Bundle.crt ErrorDocument 503 "/var/www/maintance.html" <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost>
Es muss zwingend das AJP Protokoll verwendet werden, da sonst der Pfad zum Zugriff auf die Nuclos Instanz nicht korrekt umgesetzt wird.
Abschließend muss das proxy_ajp Modul noch installiert und der Apache neugegestartet werden.
a2enmod proxy_ajp service apache2 restart
Apache konfigurieren für den Web-Client
<VirtualHost *:80> ServerName www.example.org ServerAlias www.example.org Redirect 301 / https://www.example.org </VirtualHost> <VirtualHost *:443> ServerName www.example.org ServerAlias www.example.org ProxyRequests Off SSLEngine on SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem ErrorDocument 503 "/var/www/maintance.html" <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /nuclos-instanzname ajp://localhost:8010/nuclos-instanzname ProxyPassReverse /nuclos-instanzname ajp://localhost:8010/nuclos-instanzname ProxyPass / ajp://localhost:8010/webclient/ ProxyPassReverse / ajp://localhost:8010/webclient/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost>