server { listen 80; server_name {{ hostname_matrix }}; server_tokens off; location /.well-known/acme-challenge { default_type "text/plain"; alias /acmetool-certs/run/acme-challenge; } location / { return 301 https://$http_host$request_uri; } } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name {{ hostname_matrix }}; server_tokens off; root /dev/null; ssl on; ssl_certificate /acmetool-certs/live/{{ hostname_matrix }}/fullchain; ssl_certificate_key /acmetool-certs/live/{{ hostname_matrix }}/privkey; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; location /_matrix { proxy_pass http://synapse:8008; proxy_set_header X-Forwarded-For $remote_addr; client_body_buffer_size 25M; client_max_body_size {{ matrix_max_upload_size_mb }}M; proxy_max_temp_file_size 0; } }