We have a wildcard SSL cert. installed on our tomcat (6.0.18) instance. We are 
not fronted by Apache, as we just use Tomcat to serve the content directly. We 
provide subdomains for our clients to connect to us. For example:
https://client1.mycompany.com
represents "client 1's" portal into our web app.
https://client2.mycompany.com
represents "client 2's" portal into our web app.

A particular client is not happy with the strength of our SSL certificate, and 
wants us to install a "better one" for them to use when accessing our web app. 
(We don't need to discuss "better" here....I've already pulled my hair out on 
this one. And, no, it's not possible for us to simply get a "better" wildcard 
cert.) We have a single web app, and all clients access the same ROOT app. The 
subdomains are used primarily to allow us to skin our site differently for each 
client.

What is the method I should use to have "most" of our clients access our web 
app. using our existing wildcard cert., but still allow a single client to use 
a second SSL cert to access the same web app? In other words, when "client N" 
accesses our web site via:
https://clientn.mycompany.com
they should use a separate SSL cert.

I'm assuming I'll need a second network connection for our tomcat server. Our 
"standard" traffic will arrive via "ip-address-one", and "client N's" traffic 
will arrive via "ip-address-two". (With DNS configured to make that work 
correctly.) My guess would be that in addition to our tomcat.keystore file, I 
should create a clientn.keystore (which obviously holds the "better one").  If 
that is the case, then I'm confused as to how to configure things in server.xml.

My current structure in server.xml is:
<Server>
<Service>
<Connector port=8080 ... />
<Connector port=8443 keystoreFile="tomcat.keystore" ... />
<Engine defaultHost="localhost">
<Host name="localhost">
</Host>
</Service>

</Server>

I've done some research and I believe I should use the "address" parameter on 
the connectors, so that I would then have two sets of Connector's, using the 
"clientn.keystore" on the 2nd SSL connector. But from there I'm confused as to 
what IP addresses should be used in the Engine and Host blocks. Do I need two 
Host sections? 

<Server>
<Service>
<Connector port=8080 address="ip-address-one"... />
<Connector port=8443 address="ip-address-one" keystoreFile="tomcat.keystore" 
... />
<Connector port=8080 address="ip-address-two"... />
<Connector port=8443 address="ip-address-two" keystoreFile="clientn.keystore" 
... />
<Engine defaultHost="localhost">

<Host name="localhost">
</Host>
</Service>

</Server>

 If I simply replace "localhost" in the Engine and Host blocks with 
"ip-address-one", I get traffic correctly on all of our subdomains, but don't 
get any response when connecting to ip-address-two.


Be gentle, but please slap me down the right road. ;-) I'm just stumbling 
through this, as you can tell. I hope I've not forgotten to share enough 
details.

Reply via email to