synapse_gnu_moe/synapse_gnu.conf

67 lines
3.1 KiB
Plaintext

server {
listen 0.0.0.0:443 ssl;
listen 0.0.0.0:443 quic;
listen [2603:c021:c001:31fa:780:b000:0:415]:443 ssl;
listen [2603:c021:c001:31fa:780:b000:0:415]:443 quic;
http2 on;
http3 on;
server_name matrix.gnu.moe;
ssl_certificate /etc/letsencrypt/live/gnu.moe/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gnu.moe/privkey.pem;
access_log off;
error_log /var/log/nginx/matrix.error.log;
add_header Alt-Svc 'h3=":443"; ma=86400';
# media endpoints
location ~* ^(/_matrix/media/|/_matrix/client/v1/media/|/_matrix/federation/v1/media/) { proxy_pass http://127.0.0.1:8209; }
location ~* ^(/_synapse/admin/v1/purge_media_cache$|/_synapse/admin/v1/room/.*/media.*$|/_synapse/admin/v1/user/.*/media.*$|/_synapse/admin/v1/media/.*$|/_synapse/admin/v1/quarantine_media/.*$|/_synapse/admin/v1/users/.*/media$) {
proxy_pass http://127.0.0.1:8209;
include acl_matrix_admin.conf;
}
# federation endpoints
location ~* ^(/_matrix/federation/v1/event/|/_matrix/federation/v1/state/|/_matrix/federation/v1/state_ids/|/_matrix/federation/v1/backfill/|/_matrix/federation/v1/get_missing_events/|/_matrix/federation/v1/publicRooms|/_matrix/federation/v1/query/|/_matrix/federation/v1/make_join/|/_matrix/federation/v1/make_leave/|/_matrix/federation/(v1|v2)/send_join/|/_matrix/federation/(v1|v2)/send_leave/) { proxy_pass http://127.0.0.1:8210; }
location ~* ^(/_matrix/federation/v1/make_knock/|/_matrix/federation/v1/send_knock/|/_matrix/federation/(v1|v2)/invite/|/_matrix/federation/v1/event_auth/|/_matrix/federation/v1/timestamp_to_event/|/_matrix/federation/v1/exchange_third_party_invite/|/_matrix/federation/v1/user/devices/|/_matrix/key/v2/query|/_matrix/federation/v1/hierarchy/|/_matrix/federation/v1/send/) { proxy_pass http://127.0.0.1:8210; }
# common endpoints
location ~* ^(/_matrix|/_synapse/client) { proxy_pass http://127.0.0.1:8208; }
# metrics endpoitns
location = /_syn/media {
proxy_pass http://127.0.0.1:8301/_synapse/metrics;
include acl_matrix_admin.conf;
}
location = /_syn/fedi {
proxy_pass http://127.0.0.1:8302/_synapse/metrics;
include acl_matrix_admin.conf;
}
location = /_syn/bgj {
proxy_pass http://127.0.0.1:8303/_synapse/metrics;
include acl_matrix_admin.conf;
}
# admin endpoints
location ~* ^(/_synapse/metrics|/_synapse/admin|/health) {
proxy_pass http://127.0.0.1:8208;
include acl_matrix_admin.conf;
}
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:$server_port;
proxy_http_version 1.1;
client_max_body_size 32M;
location /.well-known/matrix/server { return 200 '{ "m.server": "matrix.gnu.moe:443" }\n'; }
location /.well-known/matrix/client { return 200 '{ "m.homeserver": { "base_url": "https://matrix.gnu.moe" } }\n'; }
include robots.conf;
location / { return 418; }
}