# This is the main Apache 2.4 server configuration file for the OpenSRF
# WebSockets gateway.
Include mods-available/mpm_prefork.load
Include mods-available/mpm_prefork.conf
Include mods-available/access_compat.load
Include mods-available/authz_core.load
# if we don't want to run as "opensrf", change the LockFile
#LockFile ${APACHE_LOCK_DIR}/accept.lock
Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
DefaultType None
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
# only affects the initial connection, which should be quick.
Timeout 30
# WebSockets is KeepAlive on steroids
KeepAlive Off
StartServers 5
MinSpareServers 5
MaxSpareServers 20
# use ServerLimit to raise beyond 256
MaxClients 256
MaxRequestsPerChild 0
# include the exact mods we need
Include mods-available/mime.load
Include mods-available/mime.conf
# SSL requires mime
Include mods-available/ssl.load
Include mods-available/ssl.conf
Include mods-available/socache_shmcb.load
Include mods-available/websocket.load
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# WebSockets via SSL
Listen 7682
DocumentRoot /var/www
ServerName localhost:7682
ServerAlias 127.0.0.1:7682
SSLEngine on
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM
# re-use the certs from the main apache instance
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
# WebSockets via non-SSL
Listen 7680
ServerName localhost:7680
ServerAlias 127.0.0.1:7680
DocumentRoot /var/www
# OpenSRF WebSockets gateway
SetHandler websocket-handler
WebSocketHandler /usr/lib/apache2/modules/osrf_websocket_translator.so osrf_websocket_init