Projekt
Guacamole neznám, ale vypadá velmi zajímavě.
Osobně pro aplikace v Apache Tomcat používám raději AJP proxy, která byla pro tyto případy i navržena. Problémů ale bude v konfiguraci více:
- Většina aplikací má při průchodu přes proxy problém s chybějícím ukončovacím lomítkem v URL.
- Je dobrým zvykem WAR Java aplikace před nasazením přejmenovat, aby neobsahoval i verzi. Pokud má být URL cesta v Apache Tomcat rozdílná od URL skrz proxy, tak je třeba podle toho nastavení také přizpůsobit.
- Podle dokumentace projektu (http://guac-dev.org/doc/gug/installing-guacamole.html#mod-proxy) musí být navíc nastaven parametr flushpackets, jinak nebude aplikace fungovat správně.
Most proxies, including mod_proxy, will buffer all data sent over the connection, waiting until the connection is closed before sending that data to the client. As Guacamole's tunnel will stream data to the client over an open connection, buffering this stream breaks Guacamole's communication.
Funkční konfigurace HTTP proxy, která bude zprostředkovat aplikaci na požadovaném URL, by měla být:
<Location "/test/">
ProxyPass http://XXXXX:8080/guacamole-0.8.4/ flushpackets=on
ProxyPassReverse http://HOSTNAME/guacamole-0.8.4/
ProxyPassReverseCookiePath /guacamole-0.8.4/ /test/
</Location>
(Předpokládá se webový server Apache provozovaný na standardním HTTP portu 80 a názvem HOSTNAME.)