Recently, I needed to run WebGateway on an additional port but with a twist - this port should publish only one web application.
At first, I thought about configuring Web Gateway to allow only specific web applications (~urls), but Web Gateway configuration is per Apache configuration:
LoadModule csp_module_sa "/opt/webgateway/bin/CSPa24.so"
CSPModulePath "/opt/webgateway/bin/"
CSPConfigPath "/opt/webgateway/bin/"
ObjectScriptObjectScript
And while LoadModule has two allowed contexts, server config and virtual host, the csp module must be loaded once in the server context.
But we can use two VirtualHosts and here's how:
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
Virtual Hosts use the same WebGateway and the same CSP Config, but only /myapp/
urls are available on port 10443. Anything else gets 404 from Apache.
@Eduard Lebedyuk - thank you VERY MUCH for taking the time to share this learning withe Community :)
Hi @Eduard Lebedyuk , I was testing various options for configuring Apache (RHEL in my case), so I read the documentation (unbelievable, isn't it? 😂) and performed a number of tests, the I found this article in the community and....I was kind of surprised because you suggest using CSP On/Off within a <VirtualHost> directive block.
I was surprised because the I excluded using <VirtualHost> directive block since the documentation suggests not using it (emphasis mine):
My my first thought was, well, this is a case where the documentation is wrong, sometimes it has happened.
At that point I was puzzled, so I tried using <VirtualHost> and, to my surprise, it worked!
Then I tried to validate my Apache config using "apachectl configtest" and:
Not only is documented that using CSP On/Off within a <VirtualHost>, there is also some code implemented in CSPa24.so IRIS module to check for this and provide a warning message that says this is not supported.
Personally I'll avoid using CSP On/Off within a <VirtualHost> (at least) in production systems, unless some more info is found on this.
Hello, @Enrico Parisi!
CSP On
in Virtual Hosts is not supported by Web Gateway means that Web Gateway does no request disambiguation based on a Virtual Host and will process any request passed by Apache.However, Apache does Virtual Hosts request validation and won't pass a request to a Web Gateway if there's no corresponding
CSP On
directive.