Configuración de un servidor web Apache con mod_jk
En lugar de usar un proxy, puede usar mod_jk, que utiliza un conector JK entre Apache y Tomcat. Esto permite combinarlo con mod_rewrite para obtener cualquier tipo de URL externas (OCSP, CRL, etc.) y asignarlas a otras URL en EJBCA.
Esta sección explica cómo usar un Apache con mod_jk antes de EJBCA. El servidor resultante:
Muestra EJBCA en http://demo.primekey.se/
Requerir un certificado SSL de cliente al acceder a https://demo.primekey.se/, que funciona para la GUI de administración.
Este ejemplo se creó en Ubuntu 64-bit Server 8.10 usando el paquete Apache Web Server 2.2, pero debería ser fácil de adaptar a cualquier sistema capaz de ejecutar Apache.
# sudo apt-get install apache2 libapache2-mod-jk# vim /etc/libapache2-mod-jk/workers.properties-----worker.list=jboss# Define a worker using ajp13worker.jboss.port= 8009worker.jboss.host= 127.0 . 0.1worker.jboss.type=ajp13----- # vim /etc/apache2/sites-available/demo.primekey.se-----<VirtualHost demo.primekey.se: 80 ># We must disable el juego de caracteres default charset or everything will be ISO- 1 - 8859 ,AddDefaultCharset offServerAdmin webmaster @primekey .seServerName demo.primekey.seServerAlias demo.primekey.seJkLogFile /var/log/apache2/mod_jk.logJkLogLevel debugJkMount /* jbossJkMount / jboss</VirtualHost><VirtualHost demo.primekey.se: 443 >># We must disable el juego de caracteres default charset or everything will be ISO- 1 - 8859 ,AddDefaultCharset offServerAdmin webmaster @primekey .seServerName demo.primekey.seServerAlias demo.primekey.seSSLEngine on JkLogFile /var/log/apache2/mod_jk.logJkLogLevel debugJkMount /* jbossJkMount / jboss# JkExtractSSL is On by default# JkExtractSSL On</VirtualHost>----- # vim /etc/apache2/mods-available/ssl.conf-----SSLVerifyClient requireSSLVerifyDepth 3SSLCACertificateFile /etc/apache2/ssl/apache-CA.pemSSLCertificateFile /etc/apache2/ssl/apache.pemSSLOptions +StdEnvVars +ExportCertData----- # vim /etc/apache2/mods-available/jk.load-----LoadModule jk_module /usr/lib/apache2/modules/mod_jk.soJkWorkersFile /etc/libapache2-mod-jk/workers.properties-----Ahora habilite ssl.load y ssl.conf en /etc/apache2/mods-enabled.
Finalmente, reinicie Apache y acceda a http://demo.primekey.se/ (o https). Tenga en cuenta que se aplican las mismas consideraciones de seguridad que para el uso de proxy.
Para habilitar un conector AJP en JBoss 7 / EAP 6, ejecute el siguiente comando:
/subsystem=web/connector=ajp:add(socket-binding=ajp, protocol= "AJP/1.3" , enabled= true , scheme= "http" )Si está utilizando respondedores OCSP externos , asegúrese de que la siguiente línea esté incluida en el archivo apache2.conf:
KeepAlive OffDe lo contrario, Apache se bloqueará.
También se recomienda agregar las siguientes líneas a la configuración del host virtual, para permitir especificar solo el nombre del servidor en lugar de la URL completa:
RewriteEngine onRewriteRule .* /ejbca/publicweb/status/ocsp [PT]JkMount /ejbca/publicweb/status/ocsp/* ocsp_workerJkMount /ejbca/publicweb/status/ocsp ocsp_worker