nginx反代Scaleway s3对象储存媒体文件的配置文件模板。
参考
配置文件
例如 s3.nl-ams.scw.cloud
是你的 YOUR_S3_HOSTNAME:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| proxy_cache_path /tmp/nginx_mstdn_media levels=1:2 keys_zone=mastodon_media:100m max_size=1g inactive=24h;
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name YOUR_BUCKET_NAME; root /var/www/html;
ssl_certificate /etc/letsencrypt/live/YOUR_BUCKET_NAME/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/YOUR_BUCKET_NAME/privkey.pem;
keepalive_timeout 30;
location = / { index index.html; }
location / { try_files $uri @s3; }
set $s3_backend 'https://YOUR_BUCKET_NAME.s3.nl-ams.scw.cloud';
location @s3 { limit_except GET { deny all; }
resolver 8.8.8.8; proxy_set_header Host YOUR_BUCKET_NAME.s3.nl-ams.scw.cloud; proxy_set_header Connection ''; proxy_set_header Authorization ''; proxy_hide_header Set-Cookie; proxy_hide_header 'Access-Control-Allow-Origin'; proxy_hide_header 'Access-Control-Allow-Methods'; proxy_hide_header 'Access-Control-Allow-Headers'; proxy_hide_header x-amz-id-2; proxy_hide_header x-amz-request-id; proxy_hide_header x-amz-meta-server-side-encryption; proxy_hide_header x-amz-server-side-encryption; proxy_hide_header x-amz-bucket-region; proxy_hide_header x-amzn-requestid; proxy_ignore_headers Set-Cookie; proxy_pass $s3_backend$uri; proxy_intercept_errors off;
proxy_cache mastodon_media; proxy_cache_valid 200 48h; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; proxy_cache_lock on;
expires 1y; add_header Cache-Control public; add_header 'Access-Control-Allow-Origin' '*'; add_header X-Cache-Status $upstream_cache_status; } }
|