Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 1.65 KB

apache_setup.md

File metadata and controls

51 lines (34 loc) · 1.65 KB

Apache as reverse proxy

Once spacedeck is running you can use Apache as a reverse proxy. For a general overview of how this works or how to configure specifics the Apache Reverse Proxy Guide provides a good reference.

If you have the required modules and ssl certificates installed skip to the site config.

Required modules

Install mod_rewrite, mod_proxy and mod_proxy_wstunnel

sudo a2enmod proxy rewrite proxy_wstunnel

SSL certificates

Set up certbot frmo letsencrypt (if required) and get some certs…

sudo certbot --apache certonly -n -d space.example.net

Site config

This config should work with Apache 2.4 and assumes spacedeck is running on localhost using port 9666, that mod_rewrite, mod_proxy and mod_proxy_wstunnel are active, and that ssl certificates have been installed with certbot.

<VirtualHost *:443>
  ServerName space.example.net
  ServerAdmin webmaster@space.example.net

  ErrorLog /var/log/apache2/spacedeck-error.log
  CustomLog /var/log/apache2/spacedeck-access.log combined

  # ssl options
  Include /etc/letsencrypt/options-ssl-apache.conf
  SSLCertificateFile /etc/letsencrypt/live/space.example.net/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/space.example.net/privkey.pem

  # proxy spacedeck
  RewriteEngine On
  RewriteCond %{HTTP:Upgrade} =websocket [NC]
  RewriteRule /(.*)           ws://localhost:9666/$1 [P,L]
  RewriteCond %{HTTP:Upgrade} !=websocket [NC]
  RewriteRule /(.*)           http://localhost:9666/$1 [P,L]

  ProxyPassReverse / http://localhost:9666/
</VirtualHost>