Recientemente, necesitaba ejecutar WebGateway en un puerto adicional, pero con una novedad: este puerto debería publicar solo una aplicación web.
Al principio, pensé en configurar WebGateway para permitir solo aplicaciones web específicas (~urls), pero la configuración de WebGateway depende de la configuración de Apache:
LoadModule csp_module_sa "/opt/webgateway/bin/CSPa24.so"
CSPModulePath "/opt/webgateway/bin/"
CSPConfigPath "/opt/webgateway/bin/"
ObjectScriptObjectScript
Y aunque LoadModule tiene dos contextos permitidos, configuración del servidor y host virtual, el módulo csp debe cargarse una vez en el contexto del servidor.
Pero podemos usar dos VirtualHosts y así es como se hace:
CSPModulePath /iris/csp/bin/
CSPConfigPath /iris/csp/bin/
LoadModule csp_module_sa /iris/csp/bin/CSPa24.so
Listen 443
Listen 10443
<VirtualHost *:443>
<Location />
CSP On
</Location>
</VirtualHost>
<VirtualHost *:10443>
<Location /myapp/>
CSP On
</Location>
</VirtualHost>
ObjectScriptObjectScript
Los hosts virtuales usan el mismo WebGateway y la misma configuración de CSP, pero solo las URL /myapp/
están disponibles en el puerto 10443. Todo lo demás obtiene 404 de Apache.