# redirect all HTTP requests to HTTPS server { listen 80; listen [::]:80; server_name *.kylrth.com; server_tokens off; location / { return 301 https://$host$request_uri; } } server { listen 443 ssl; listen [::]:443 ssl; # federation listen 8448 ssl http2 default_server; listen [::]:8448 ssl http2 default_server; server_name matrix.kylrth.com; server_tokens off; ssl_certificate /etc/letsencrypt/live/kylrth.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/kylrth.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; location / { proxy_pass http://synapse:8008; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; client_max_body_size 100M; } location /_matrix/maubot { proxy_pass http://maubot:29316; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location ~ ^/(static|register) { proxy_pass http://registration:5000; } }