since Pleroma.Web.Endpoint binds on IPv4 only and `localhost.` resolves to [::0] on some systems fixes #930.
		
			
				
	
	
		
			74 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
# 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)
 |