I have an Apache webserver (frontend) and a Tomcat application server (backend).
I want to allow web clients to authenticate either with SAML or digital certificate and then proxify them to the backend server.
I'm almost sure the following configuration should work, but it doesn't.
I get error "Not Found. The requested URL was not found on this server."
and Apache logs says:
AH00128: File does not exist: /var/www/html/public/myapp/, referer: https://frontend-server/
Any help appreciated.
<VirtualHost frontend-server:80>
ServerName frontend-server
Redirect / https://frontend-server
</VirtualHost>
<VirtualHost frontend-server:443>
SSLEngine on
SSLProxyEngine on
SSLProtocol all -TLSv1.3 -SSLv2 -SSLv3
SSLCertificateFile frontend-server.crt
SSLCertificateKeyFile frontend-server.pem
SSLCACertificateFile CA.crt
ProxyPass /saml ajp://backend-server:8009/myapp
ProxyPass /cert ajp://backend-server:8009/myapp
<Location /saml/>
AuthType Mellon
MellonEnable auth
Require valid-user
MellonVariable "cookie"
MellonMergeEnvVars On ":"
SetEnv MELLON_NAME_ID %{MELLON_NAME_ID}e
RequestHeader set Mellon-NameID %{MELLON_NAME_ID}e
ProxyPassReverse /myapp
</Location>
<Location /cert/>
SSLVerifyClient require
SSLVerifyDepth 2
SSLOptions +ExportCertData
ProxyPassReverse /myapp
</Location>
</VirtualHost>