GlassFish V3 has improved the way to front GlassFish with Apache HTTP Server. Unlike the V2 way where users had to copy tomcat-ajp.jar and commons-*.jar, you can just enable mod_jk in V3 using the network-listener's attribute "jk-enabled" without copying any additional jars into its lib directory. You can also create jk-connectors under different virtual-servers (not just default virtual-server "server" in V2) using the network-listener's "jk-enabled" attribute.

Here are instructions.

(1) Install Apache HTTP Server and mod_jk

(2) Configure and httpd.conf

For example, apache2/config/

# Define 1 real worker using ajp13
# Set properties for worker1 (ajp13)


LoadModule jk_module /Users/Amy/apache2/modules/
JkWorkersFile /Users/Amy/apache2/conf/
# Where to put jk logs
JkLogFile /Users/Amy/apache2/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel debug
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# Send everything for context /examples to worker named worker1 (ajp13)
JkMount /examples/* worker1

(3) Start Apache HTTP Server

(4) Enable mod_jk using the following command

asadmin create-http-listener --listenerport 8009 --listeneraddress --defaultvs serverjk-connector

asadmin set

(5) If you are using the file and not referencing it in httpd.conf, point to it using the following command:

asadmin create-jvm-options -Dcom.sun.enterprise.web.connector.enableJK.propertyFile=domain-dir/config/

(6) Restart GlassFish

The network-listener attribute "jk-enabled" is availablefrom V3 b53 or later.