In my application, I'm making some standard scenario where Java web app is deployed on JBoss with apache proxy upfront. The webapp is accessible from /esp context so direct url would be (but I've turned off HTTP for Jboss, only AJP):
http://1.2.3.4:8080/esp Now, I've created subdomain and tried proxy move through apache root context. So I'd like apache to proxy:
https://mysubdomain.domain.com -> ajp -> Jboss /esp context app I believe that I'm missing something obvious with my configuration, cause only root application context is accessible, and rest of url have dulicated context which ends with 404. For example request are proxied like this:
https://mysubdomain.domain.com/css/somecss.css -> ajp -> /esp/esp/css/somecss.css Apache configuration looks like this:
<VirtualHost 1.2.3.4:80> ServerName mysubdomain.domain.com RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L] </VirtualHost> <IfModule mod_ssl.c> <VirtualHost 1.2.3.4:443> ServerName mysubdomain.domain.com ProxyPass / ajp://localhost:8009/esp/ ProxyPassReverse / ajp://localhost:8009/esp/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/mantis> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/esp.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> SSLEngine on SSLCertificateFile /var/keys/server.crt SSLCertificateKeyFile /var/keys/server.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> </IfModule> Moreover, when I add additional proxies upfront, everything works:
ProxyPass /esp/ ajp://localhost:8009/esp/ ProxyPassReverse /esp/ ajp://localhost:8009/esp/ Except that app is accessible from apache on both context: / and /esp while I want only root. How can I fix it?