From: Jeff Trawick
Description: | Semaphore for internal mutual exclusion of -operations |
---|---|
Syntax: | SSLMutex type |
Default: | SSLMutex none |
Context: | server config |
Status: | Extension |
Module: | mod_ssl |
-This configures the SSL engine's semaphore (aka. lock) which is used for mutual
-exclusion of operations which have to be done in a synchronized way between the
-pre-forked Apache server processes. This directive can only be used in the
-global server context because it's only useful to have one global mutex.
-This directive is designed to closely match the
-AcceptMutex
directive.
-The following Mutex types are available:
-none | no
- - This is the default where no Mutex is used at all. Use it at your own - risk. But because currently the Mutex is mainly used for synchronizing - write access to the SSL Session Cache you can live without it as long - as you accept a sometimes garbled Session Cache. So it's not recommended - to leave this the default. Instead configure a real Mutex.
posixsem
- - This is an elegant Mutex variant where a Posix Semaphore is used when possible. - It is only available when the underlying platform - and APR supports it.
sysvsem
- - This is a somewhat elegant Mutex variant where a SystemV IPC Semaphore is used when - possible. It is possible to "leak" SysV semaphores if processes crash before - the semaphore is removed. It is only available when the underlying platform - and APR supports it.
sem
- - This directive tells the SSL Module to pick the "best" semaphore implementation - available to it, choosing between Posix and SystemV IPC, in that order. It is only - available when the underlying platform and APR supports at least one of the 2.
pthread
- - This directive tells the SSL Module to use Posix thread mutexes. It is only available - if the underlying platform and APR supports it.
fcntl:/path/to/mutex
-
- This is a portable Mutex variant where a physical (lock-)file and the fcntl()
- function are used as the Mutex.
- Always use a local disk filesystem for /path/to/mutex
and never a file
- residing on a NFS- or AFS-filesystem. It is only available when the underlying platform
- and APR supports it. Note: Internally, the Process ID (PID) of the
- Apache parent process is automatically appended to
- /path/to/mutex
to make it unique, so you don't have to worry
- about conflicts yourself. Notice that this type of mutex is not available
- under the Win32 environment. There you have to use the semaphore
- mutex.
flock:/path/to/mutex
-
- This is similar to the fcntl:/path/to/mutex
method with the
- exception that the flock()
function is used to provide file
- locking. It is only available when the underlying platform
- and APR supports it.
file:/path/to/mutex
-
- This directive tells the SSL Module to pick the "best" file locking implementation
- available to it, choosing between fcntl
and flock
,
- in that order. It is only available when the underlying platform and APR supports
- at least one of the 2.
default | yes
- - This directive tells the SSL Module to pick the default locking implementation - as determined by the platform and APR.
-SSLMutex file:/usr/local/apache/logs/ssl_mutex
-
SSLSessionCache dbm:/usr/local/apache/logs/ssl_gcache_data
SSLSessionCache shm:/usr/local/apache/logs/ssl_gcache_data(512000)
The ssl-cache
mutex is used to serialize access to
+the session cache to prevent corruption. This mutex can be configured
+using the Mutex
directive.
TRACE
+TRACE
requestsmime.types
filemime.types
file