 # Redirect HTTP to HTTPS
 <VirtualHost *:80>
     ServerName coder.example.com
     ServerAlias *.coder.example.com
     Redirect permanent / https://coder.example.com/
 </VirtualHost>

 <VirtualHost *:443>
     ServerName coder.example.com
     ServerAlias *.coder.example.com
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     ProxyPass / http://127.0.0.1:3000/ upgrade=any # required for websockets
     ProxyPassReverse / http://127.0.0.1:3000/
     ProxyRequests Off
     ProxyPreserveHost On

     RewriteEngine On
     # Websockets are required for workspace connectivity
     RewriteCond %{HTTP:Connection} Upgrade [NC]
     RewriteCond %{HTTP:Upgrade} websocket [NC]
     RewriteRule /(.*) ws://127.0.0.1:3000/$1 [P,L]

     SSLCertificateFile /etc/letsencrypt/live/coder.example.com/fullchain.pem
     SSLCertificateKeyFile /etc/letsencrypt/live/coder.example.com/privkey.pem
 </VirtualHost>
 
