X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=installation%2Fcaddyfile-pleroma.example;h=7985d9c6746a6c2d2ef9bd682f184f013de11f93;hb=8e1f32e71560c4b36ccbdc3ecf8de8386928305a;hp=f5ecf9d26a970b009077fa0180ac946669ef47a1;hpb=941f9a888c1d08e0e5a158956e55439631748764;p=akkoma diff --git a/installation/caddyfile-pleroma.example b/installation/caddyfile-pleroma.example index f5ecf9d26..7985d9c67 100644 --- a/installation/caddyfile-pleroma.example +++ b/installation/caddyfile-pleroma.example @@ -1,16 +1,18 @@ # default Caddyfile config for Pleroma # # Simple installation instructions: -# 1. Replace 'pleroma.example.tld' with your instance's domain wherever it appears. +# 1. Replace 'example.tld' with your instance's domain wherever it appears. # 2. Copy this section into your Caddyfile and restart Caddy. -pleroma.example.tld { +example.tld { log /var/log/caddy/pleroma_access.log errors /var/log/caddy/pleroma_error.log gzip - proxy / localhost:4000 { + # this is explicitly IPv4 since Pleroma.Web.Endpoint binds on IPv4 only + # and `localhost.` resolves to [::0] on some systems: see issue #930 + proxy / 127.0.0.1:4000 { websocket transparent } @@ -21,30 +23,13 @@ pleroma.example.tld { ciphers ECDHE-ECDSA-WITH-CHACHA20-POLY1305 ECDHE-RSA-WITH-CHACHA20-POLY1305 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 } - header / { - X-XSS-Protection "1; mode=block" - X-Frame-Options "DENY" - X-Content-Type-Options "nosniff" - Referrer-Policy "same-origin" - Strict-Transport-Security "max-age=31536000; includeSubDomains;" - Expect-CT "enforce, max-age=2592000" - Content-Security-Policy "default-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; img-src 'self' data: https:; media-src 'self' https:; style-src 'self' 'unsafe-inline'; font-src 'self'; script-src 'self'; connect-src 'self' wss://{host}; upgrade-insecure-requests;" - } - - # If you do not want remote frontends to be able to access your Pleroma backend server, remove these lines. - # If you want to allow all origins access, remove the origin lines. - # To use this directive, you need the http.cors plugin for Caddy. - cors / { - origin https://halcyon.example.tld - origin https://pinafore.example.tld - methods POST,PUT,DELETE,GET,PATCH,OPTIONS - allowed_headers Authorization,Content-Type,Idempotency-Key - exposed_headers Link,X-RateLimit-Reset,X-RateLimit-Limit,X-RateLimit-Remaining,X-Request-Id - } - # Stop removing lines here. - # If you do not want to use the mediaproxy function, remove these lines. # To use this directive, you need the http.cache plugin for Caddy. + cache { + match_path /media + default_max_age 720m + } + cache { match_path /proxy default_max_age 720m