Solved

Apache vhost RedirectMatch and ajp13 problem

Posted on 2008-06-20
2
1,154 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
Comment Utility
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

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Introduction As you’re probably aware the HTTP protocol offers basic / weak authentication, which in combination with the relevant configuration on your web server, provides the ability to password protect all or part of your host.  If you were not…
Most of the developers using Tomcat find it easy to configure the datasource in Server.xml and use the JNDI name in the code to get the connection.  So the default connection pool using DBCP (or any other framework) is made available and the life go…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

771 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now