Enable HTTPS for Graylog2 web interface

Graylog2 is a free and open source log management solution that provide you a centralized repository and access to all your infrastructures logs. All the logs are stored in MongoDB, a scalable and high-performance database.

Because cloudworxx® is running a https secured environment, we want to access Graylog2 web interface by https://logging.domain.com instead of http://logging.domain.com:9000 or http://1.2.3.4:9000

To make this happen, you have to enable the apache2 proxy module. Then create the following vhost entry for your logging domain ( and of course enable it! ):

<VirtualHost *:443>
        ServerName logging.domain.com
        ServerAlias logging.domain.com
        ServerAdmin email@domain

        # Logging
        ErrorLog ${APACHE_LOG_DIR}/graylog2.error.log
        LogLevel info
        CustomLog ${APACHE_LOG_DIR}/graylog2.access.log combined

        # SSL Configuration
        SSLEngine on
        SSLProtocol all
        SSLCertificateFile /path/to/your/cert.crt
        SSLCertificateKeyFile /path/to/your/key.key

        ProxyRequests Off
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        ProxyPass / http://yourip:9000/
        ProxyPassReverse / http://yourip:9000/

        <Location />
                Order allow,deny
                Allow from all
        </Location>
</VirtualHost>
<VirtualHost *:80>
        ServerAdmin email@domain
        ServerName logging.domain.com
        Redirect / https://logging.domain.com/
</VirtualHost>

That’s it! Your Graylog2 installation is now available on https://logging.domain.com/. Have fun.