MindTouch Developer Center > MindTouch Deki > FAQ > Configuration > How do I...Run Deki Wiki behind a Reverse Proxy

How do I...Run Deki Wiki behind a Reverse Proxy

These instructions are for Apache2 and Deki Wiki 1.90 until someone else adds different proxy instructions.

Setting up a reverse proxy is simple for Deki Wiki. The following is done on your reverse proxy server:

A new virtual host within Apache must be created. A sample virtual host section is copied below.

<VirtualHost *:80>
        ServerName wiki.domain.com:80
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        TransferLog /var/log/apache2/access.log
        ProxyPass /
http://internalservername/
        ProxyPassReverse / http://internalservername/
        ProxyVia Off
        ProxyRequests Off
        ProxyPreserveHost On
<proxy>
        Order deny,allow
        allow from all
</proxy>
</VirtualHost>

This configuration has been tested and is working. No rewrite rules are necessary.

Reverse Proxy with SSL at Login

Using the instructions for Enable SSL at Login Time Only with a reverse proxy in front of Deki Wiki. However, do not make the changes shown on that page to Deki Wiki. Rather you will make them on the proxy server.

There may be a more efficient way of doing this, however this configuration of the Apache reverse proxy does work.

#### Wiki Configuration #####
<VirtualHost *:80>
        ServerName wiki.domain.com:80
        CustomLog "|/usr/sbin/rotatelogs  /var/log/apache2/wiki/access.log 86400" common

        ReWriteEngine On
        ##### Redirect login page to https ######
        RewriteCond %{QUERY_STRING} ^title\=Special\:Userlogin.*
        RewriteRule (.*)
https://wiki.domain.com$1 [L,R,NE]

        ProxyRequests Off

        ProxyPass / http://wiki.domain.com/
        ProxyPassReverse / http://wiki.domain.com/

        ProxyVia Off
        ProxyRequests Off
        ProxyPreserveHost On 
<proxy>
        Order deny,allow
        allow from all
</proxy>
</VirtualHost>

<VirtualHost *:443>
        Servername wiki.domain.com:443
        CustomLog "|/usr/sbin/rotatelogs  /var/log/apache2/wiki/access.log 86400" common

        SSLengine On
        SSLcertificatefile /etc/apache2/wikicert.pem
 
        ReWriteEngine On
        # When we are going from the login page back to the home page,
        # redirect back to the non-SSL site.  Disable this rewrite rule when
        # you want all traffic to go to the SSL site.
        RewriteCond %{REQUEST_URI} ^/$
        RewriteCond %{HTTP_REFERER} ^https.*title\=Special\:Userlogin\&returnto$
        RewriteRule (.*)
http://wiki.domain.com$1 [L,R,NE]

        ProxyPass / http://wiki.domain.com/
        ProxyPassReverse / http://wiki.domain.com/

        ProxyVia Off
        ProxyRequests Off
        ProxyPreserveHost On
<proxy>
       Order deny,allow
        allow from all
</proxy>
</VirtualHost>
   

Again, no changes need to be made to the Apache config on Deki Wiki.

The wikicert.pem is a 3rd party certificate I purchased for my domain.

Tag page
You must login to post a comment.
Powered by MindTouch Deki v.8.08