|
- # default Apache site config for Pleroma
- #
- # needed modules: define headers proxy proxy_http proxy_wstunnel rewrite ssl
- # optional modules: cache cache_disk
- #
- # Simple installation instructions:
- # 1. Install your TLS certificate, possibly using Let's Encrypt.
- # 2. Replace 'example.tld' with your instance's domain wherever it appears.
- # 3. This assumes a Debian style Apache config. Copy this file to
- # /etc/apache2/sites-available/ and then add a symlink to it in
- # /etc/apache2/sites-enabled/ by running 'a2ensite pleroma-apache.conf', then restart Apache.
- #
- # Optional: enable disk-based caching for the media proxy
- # For details, see https://git.pleroma.social/pleroma/pleroma/wikis/How%20to%20activate%20mediaproxy
- #
- # 1. Create the directory listed below as the CacheRoot, and make sure
- # the Apache user can write to it.
- # 2. Configure Apache's htcacheclean to clean the directory periodically.
- # 3. Run 'a2enmod cache cache_disk' and restart Apache.
-
- Define servername example.tld
-
- ServerName ${servername}
- ServerTokens Prod
-
- ErrorLog ${APACHE_LOG_DIR}/error.log
- CustomLog ${APACHE_LOG_DIR}/access.log combined
-
- <VirtualHost *:80>
- Redirect permanent / https://${servername}
- </VirtualHost>
-
- <VirtualHost *:443>
- SSLEngine on
- SSLCertificateFile /etc/letsencrypt/live/${servername}/cert.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/${servername}/privkey.pem
- SSLCertificateChainFile /etc/letsencrypt/live/${servername}/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
-
- # uncomment the following to enable mediaproxy caching on disk
- # <IfModule mod_cache_disk.c>
- # CacheRoot /var/cache/apache2/mod_cache_disk
- # CacheDirLevels 1
- # CacheDirLength 2
- # CacheEnable disk /proxy
- # CacheLock on
- # </IfModule>
-
- RewriteEngine On
- RewriteCond %{HTTP:Connection} Upgrade [NC]
- RewriteCond %{HTTP:Upgrade} websocket [NC]
- RewriteRule /(.*) ws://localhost:4000/$1 [P,L]
-
- ProxyRequests off
- # this is explicitly IPv4 since Pleroma.Web.Endpoint binds on IPv4 only
- # and `localhost.` resolves to [::0] on some systems: see issue #930
- ProxyPass / http://127.0.0.1:4000/
- ProxyPassReverse / http://127.0.0.1:4000/
-
- RequestHeader set Host ${servername}
- ProxyPreserveHost On
- </VirtualHost>
-
- # OCSP Stapling, only in httpd 2.3.3 and later
- SSLUseStapling on
- SSLStaplingResponderTimeout 5
- SSLStaplingReturnResponderErrors off
- SSLStaplingCache shmcb:/var/run/ocsp(128000)
|