Hi,

I have a web site with a login page that has to be accessed using SSL so 
that the password is not sent as clear text. The rest of the site is 
non-SSL. My configuration worked with this combination: Tomcat 5.5.27; 
Apache 2.0.58; JAVA 1.5.0_13 and, mod_jk (I'm not sure what version of 
mod_jk but it's old). After upgrading to  Tomcat 7.0.22; Apache 2.2.21; 
JAVA 1.6.0_23; and tomcat jk connector version 1.2.32  I find my 
application doesn't work the same. The problem is I never get past the 
login page because whenever a redirect from port 8443 to port 8080 occurs 
I get bumped back to the log in page. I can use the application if I stay 
totally within SSL and I can use the application totally without SSL so I 
think this is a configuration issue, I just don't know what needs to 
change. I read the tomcat 7 SSL Configuration How-to and it says it's 
"customary to only run certain pages under SSL" but I'm missing something 
or have used a hole in the past that has now been plugged.

My web.xml is configured as follows:
       <welcome-file-list>
               <welcome-file>index.html</welcome-file>
       </welcome-file-list>
       <security-constraint>
               <display-name>App Security</display-name>
               <web-resource-collection>
                       <web-resource-name>App Security</web-resource-name>
                       <description></description>
                       <url-pattern>*.jsp</url-pattern>
                       <url-pattern>*.do</url-pattern>
                       <url-pattern>*.html</url-pattern>
                       <http-method>GET</http-method>
                       <http-method>PUT</http-method>
                       <http-method>POST</http-method>
                       <http-method>DELETE</http-method>
               </web-resource-collection>
               <auth-constraint>
                       <description></description>
                       <role-name>person</role-name>
               </auth-constraint>
       </security-constraint>
       <login-config>
               <auth-method>FORM</auth-method>
               <form-login-config>
                       <form-login-page>/login.jsp</form-login-page>
                       <form-error-page>/loginerr.jsp</form-error-page>
               </form-login-config>
       </login-config>
       <security-role>
          <description>All users who can login should be able to use this 
application</description>
                  <role-name>person</role-name>
       </security-role>

I created a certificate using the Java keystore and updated tomcat 
server.xml 
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="/security/.keystore" 
keystorePass="appcertkey"   keyAlias="keyalias"/>

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Index.html redirects the user from https to http.

Any suggestions would be appreciated.

Regards,
Janet

Reply via email to