On Fri, 2011-12-02 at 00:56 -0800, moshood oladapo wrote:
> Dear Sir/Ma,
> 
> I have already deployed an application running perfectly on tomcat 6.0.20 on 
> port 8080 on my Oracle EL 5 server. But now I want all request to go through 
> SSL. 
> 

If you want to force all traffic to go through SSL, you need to do two
things.

1.) Configure an Connector with SSL.

Example using BIO connector:

<Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS"/>

Example using APR connector:

<Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="/usr/local/ssl/server.crt" 
           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
           clientAuth="optional" SSLProtocol="TLSv1"/>

For details, see

  https://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
  https://tomcat.apache.org/tomcat-6.0-doc/config/http.html#SSL_Support


2.) Define user-data-constraint in web.xml to indicate that the
application's traffic must be secured.

<security-constraint>
...
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

See this link for details.

  http://docs.oracle.com/javaee/5/tutorial/doc/bncbe.html#bncbm


> 
> See below my configurations on server.xml:
> 
>   <!--APR library loader. Documentation at /docs/apr.html -->
>   <Listener className="org.apache.catalina.core.AprLifecycleListener" 
> SSLEngine="on" SSLRandomSeed="builtin" />
> 
> 
> 
>     <Connector executor="tomcatThreadPool"
>                port="8080" protocol="HTTP/1.1"
>                connectionTimeout="20000"
>                redirectPort="443" />
>     -->
>     <!-- Define a SSL HTTP/1.1 Connector on port 8443
>          This connector uses the JSSE configuration, when using APR, the
>          connector should be using the OpenSSL style configuration
>          described in the APR documentation -->
> 
>     <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
>                maxThreads="150" scheme="https" secure="true"
>                clientAuth="false" sslProtocol="TLS"
>                SSLEngine="on"
>                
> SSLCerticateFile="/home/oracle/apache-tomcat-6.0.20/conf/ssl/optixserver.crt"
>                
> SSLCertificateKeyFile="/home/oracle/apache-tomcat-6.0.20/conf/ssl/optixserver.p12"
>                SSLPassword="optix10$"
>      />
> 
> After doing all this, I still couldn't access it "https://localhost:443/";. It 
> display error message " internet explorer cannot display the webpage". But 
> when i try http://localhost:8080/, it works fine.
> 
> There is a clause I don't understand in the HowTo configure SSL with APR - 
> (the
> APR library must be available). How do I know if the APR is available or not?

If you don't know if APR is installed, then it's likely that it is not
installed.  The APR library is a native library that you must compile
and install manually.

https://tomcat.apache.org/tomcat-6.0-doc/apr.html

Did you or another system admin compile and install it on your server?


Dan

Reply via email to