I understand that URL patterns can be used to have some handled under HTTP and others under HTTPS.
Let's imagine a web application with two servlets, each accessed with different URL patters (for example .../myapp/servlet1 and .../myapp/servlet2), how can I have to first one handled by HTTP and the second with HTTPS?
Can you provide a configuration example?
Thanks!
The main idea here is that you want to specify which pages are using SSL
Using SSL in Tomcat requires 3 main step:
keytool -genkey -alias tomcat -keyalg RSA -keystore keystore.ssl
. You will be asked for a password, and once you filled all information needed, press RETURN to use the same password. Move the file created under CATALINA_HOME.conf/server.xml
, for instance: http://fpaste.org/w3yu/ (SECTION 1)</security-constraint>
, add the following: Same link as above but see SECTION 2.I know this is very brief but that should give you a lead of what to do :)
I suggest that you set up Apache as a reverse proxy and let it handle the front end. You can configure two virtual hosts (one for http and one for https) which connect to the respective Tomcat backend servlets.
You can look at this question for config examples. You want to do almost exactly the same thing.