|
- #Example configuration for when Apache httpd and Pleroma are on the same host.
- #Needed modules: headers proxy proxy_http proxy_wstunnel rewrite ssl
- #This assumes a Debian style Apache config. Put this in /etc/apache2/sites-available
- #Install your TLS certificate, possibly using Let's Encrypt.
- #Replace 'pleroma.example.com' with your instance's domain wherever it appears
-
- ServerName pleroma.example.com
- ServerTokens Prod
-
- ErrorLog ${APACHE_LOG_DIR}/error.log
- CustomLog ${APACHE_LOG_DIR}/access.log combined
-
- <VirtualHost *:80>
- Redirect permanent / https://pleroma.example.com
- </VirtualHost>
-
- <VirtualHost *:443>
- SSLEngine on
- SSLCertificateFile /etc/letsencrypt/live/pleroma.example.com/cert.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/pleroma.example.com/privkey.pem
- SSLCertificateChainFile /etc/letsencrypt/live/pleroma.example.com/fullchain.pem
-
- # Mozilla modern configuration, tweak to your needs
- SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
- SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
- SSLHonorCipherOrder on
- SSLCompression off
- SSLSessionTickets off
-
- # OCSP Stapling, only in httpd 2.3.3 and later
- SSLUseStapling on
- SSLStaplingResponderTimeout 5
- SSLStaplingReturnResponderErrors off
- SSLStaplingCache shmcb:/var/run/ocsp(128000)
-
- Header always set X-Xss-Protection "1; mode=block"
- Header always set X-Frame-Options "DENY"
- Header always set X-Content-Type-Options "nosniff"
- Header always set Referrer-Policy same-origin
- Header always set Content-Security-Policy "default-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; img-src 'self' data: https:; media-src 'self' https:; style-src 'self' 'unsafe-inline'; font-src 'self'; script-src 'self'; connect-src 'self' wss://pleroma.example.tld; upgrade-insecure-requests;"
-
- # Uncomment this only after you get HTTPS working.
- # Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
-
- RewriteEngine On
- RewriteCond %{HTTP:Connection} Upgrade [NC]
- RewriteCond %{HTTP:Upgrade} websocket [NC]
- RewriteRule /(.*) ws://localhost:4000/$1 [P,L]
-
- ProxyRequests off
- ProxyPass / http://localhost:4000/
- ProxyPassReverse / http://localhost:4000/
-
- RequestHeader set Host "pleroma.example.com"
- ProxyPreserveHost On
- </VirtualHost>
|