# Apache vhost — clickerz.tetardtek.com # Frontend: static build served from /var/www/clickerz # Backend API: reverse proxy to pm2 on port 3310 ServerName clickerz.tetardtek.com RewriteEngine On RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] ServerName clickerz.tetardtek.com # SSL (certbot) SSLEngine on SSLCertificateFile /etc/letsencrypt/live/clickerz.tetardtek.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/clickerz.tetardtek.com/privkey.pem # Frontend — SPA static files DocumentRoot /var/www/clickerz Options -Indexes +FollowSymLinks AllowOverride None Require all granted # SPA fallback — all non-file routes → index.html RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] # Backend API — reverse proxy ProxyPreserveHost On ProxyPass /api http://127.0.0.1:3310/api ProxyPassReverse /api http://127.0.0.1:3310/api # Security headers Header always set X-Content-Type-Options "nosniff" Header always set X-Frame-Options "DENY" Header always set Referrer-Policy "strict-origin-when-cross-origin"