Несколько советов пользователям Apache Tomcat:Поддержка SSL
-------------
В server.xml раскомментируем listener и добавим опции:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
SSLCACertificateFile="${catalina.home}/cert/root.crt"
SSLCertificateFile="${catalina.home}/cert/client.pem"
SSLCertificateKeyFile="${catalina.home}/cert/client.pem"
sslProtocol="TLS" />
Если сертификат самоподписанный, то SSLCACertificateFile можно пропустить.
Доступ на сервис https://tomcat:8443
Редирект
--------
Для апача создать tomcat.conf в /etc/httpd/conf.d
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName service.dc-local
ServerAlias service
Redirect permanent / https://tomcat:8443/service
</VirtualHost>
Авторизация на страницу
-----------------------
В web.xml приложения добавить:
<!-- Define a Security Constraint on this Application -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<!-- Define the context-relative URL(s) to be protected -->
<url-pattern>/*</url-pattern>
<!-- If you list http methods, only those methods are protected -->
</web-resource-collection>
<auth-constraint>
<role-name>role1</role-name>
<role-name>role2</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>BLA BLA BLA</realm-name>
</login-config>
<!-- Security roles referenced by this web application -->
<security-role>
<description>BLA BLA BLA</description>
<role-name>role1</role-name>
<role-name>role2</role-name>
</security-role>
роли должны быть в tomcat-users.xml, либо см. ниже.
Поддержка авторизации по группам из LDAP
----------------------------------------
В server.xml добавить:
<Realm className="org.apache.catalina.realm.JNDIRealm" connectionURL="ldap://ldap:389"
allRolesMode="authOnly" userBase="ou=users,dc=domain,dc=local" userSearch="uid={0}"
roleBase="ou=group,dc=domain,dc=local" roleName="cn" roleSearch="memberUid={1}"/>
группы будут определены как роли для авторизации.
URL:
Обсуждается: http://www.opennet.me/tips/info/2011.shtml