Solved

Apache vhost RedirectMatch and ajp13 problem

Posted on 2008-06-20
2
1,166 Views
Last Modified: 2013-12-02
hi
I have a an apache 2.0.52 connected to tomcat 5.5.25 using JkMount  ajp13 connector.

Now I have 2 vhosts configured for my domain one listing on port 80 and the other listening on port 443

I am transfering all the requests from apache to tomcat using JkMount /* ajp13.
Now my requirement is I need to transfer all the requests to tomcat except a coulple of pages like login.jsp.
The request for login.jsp should be redirected to the vhost listening on the ssl port 443.
Usually this can be done by using Redirectmatch or Redirect but because I am using JkMount /* ajp13
it overrides the Redirectmatch entry for login page.

Could you please tell me how give the Redirectmatch prefrence over JkMount /* ajp13.
Requests for all other pages except login.jsp should be sent to tocmat. I do not wish to use apache for server static content.
Please find the two virtual host entries in the code snippet.


NameVirtualHost 64.151.81.100:80 
NameVirtualHost 64.151.81.100:443 
 
 
# apache configuration
 
<VirtualHost 64.151.81.100:443>
 
	ServerName www.drdenisetarasuk.egenhealth.com
 
	ServerAlias drdenisetarasuk.egenhealth.com *drdenisetarasuk.egenhealth.com
	
	SSLEngine On
 
	SSLCertificateFile    /etc/httpd/conf/ssl.crt/drdenise.crt
       SSLCertificateKeyFile /etc/httpd/conf/ssl.key/drdenise.key
 
	
	
 
	ServerAdmin manoj@egenhealth.com.com
	DocumentRoot /home/virtual/site6/fst/var/www/html
 
	JkMount /* ajp13
	RewriteEngine on
	suexecUserGroup admin6 admin6
 
	
 
	
 
	<Directory /home/virtual/site6/fst/var/www/html/>
		Allow from all
		AllowOverride All
		Order allow,deny
	</Directory>
 
	<Directory /home/virtual/site6/fst/home/*/public_html/>
		Allow from all
		AllowOverride All
		Order allow,deny
	</Directory>
 
	SetEnv SITE_ROOT /home/virtual/site6/fst
	SetEnv SITE_HTMLROOT /home/virtual/site6/fst/var/www/html
 
        <IfModule mod_php4.c>
                # need to set php on explicitly (PR 24077).
                # using php_flag so site can override.
                php_flag engine on
		# php_admin_value sendmail_path  "/usr/sbin/sendmail -t -i -f %s@%s"
        </IfModule>
        <IfModule sapi_apache2.c>
                php_flag engine on
		# php_admin_value sendmail_path  "/usr/sbin/sendmail -t -i -f %s@%s"
        </IfModule>
 
        <Directory /home/virtual/site6/fst/var/www/interpreters>
                Options ExecCGI
                SetHandler cgi-script
        </Directory>
        Alias /interpreters/ /home/virtual/site6/fst/var/www/interpreters/
 
	
</VirtualHost>
 
 
 
 
 
<VirtualHost 64.151.81.100:80>
 
	
	ServerName www.drdenisetarasuk.egenhealth.com
 
	ServerAlias drdenisetarasuk.egenhealth.com *drdenisetarasuk.egenhealth.com
	
	RedirectMatch permanent ^/(.*)login\.jsp$ https://www.egenhealth.com/$1 
 
 
	ServerAdmin manoj@egenhealth.com.com
	DocumentRoot /home/virtual/site6/fst/var/www/html
	#JkMount /*.jsp ajp13
	JkMount /* ajp13
	RewriteEngine on
	suexecUserGroup admin6 admin6
 
	
 
	
 
	<Directory /home/virtual/site6/fst/var/www/html/>
		Allow from all
		AllowOverride All
		Order allow,deny
	</Directory>
 
	<Directory /home/virtual/site6/fst/home/*/public_html/>
		Allow from all
		AllowOverride All
		Order allow,deny
	</Directory>
 
	SetEnv SITE_ROOT /home/virtual/site6/fst
	SetEnv SITE_HTMLROOT /home/virtual/site6/fst/var/www/html
 
        <IfModule mod_php4.c>
                # need to set php on explicitly (PR 24077).
                # using php_flag so site can override.
                php_flag engine on
		# php_admin_value sendmail_path  "/usr/sbin/sendmail -t -i -f %s@%s"
        </IfModule>
        <IfModule sapi_apache2.c>
                php_flag engine on
		# php_admin_value sendmail_path  "/usr/sbin/sendmail -t -i -f %s@%s"
        </IfModule>
 
        <Directory /home/virtual/site6/fst/var/www/interpreters>
                Options ExecCGI
                SetHandler cgi-script
        </Directory>
        Alias /interpreters/ /home/virtual/site6/fst/var/www/interpreters/
 
	
 
 
 
</VirtualHost>

Open in new window

0
Comment
Question by:manoj2066
2 Comments
 
LVL 27

Accepted Solution

by:
caterham_www earned 500 total points
ID: 21941645
If there's no way to exclude certain files via mod_jdk - you may also try mod_rewrite instead of mod_alias (see below [1]) - I wouldn't use mod_jdk as the connector at all in favor of mod_proxy, mod_proxy_ajp (apache httpd version 2.1 and later) in conjunction with mod_rewrite's P-Flag [2].

[1]
JkMount /* ajp13
RewriteEngine on
RewriteRule ^/(.*)login\.jsp$ https://www.egenhealth.com/$1 [R=301,L]

-----------
[2]
RewriteEngine on
RewriteRule ^/(.*)login\.jsp$ https://www.egenhealth.com/$1 [R=301,L]
RewriteRule ^/(.*) ajp://localhost:8000/$1 [P]
ProxyPassReverse / ajp://localhost:8000/
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Over the last year I have answered a couple of basic URL rewriting questions several times so I thought I might as well have a stab at: explaining the basics, providing a few useful links and consolidating some of the most common queries into a sing…
Hi, in this article I'm going to teach you how to run your own site, and how to let people in (without IP). I'll talk about and explain each step... :) By the way, everything in this Tutorial is completely free and legal. This article is for …
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question