mirror of
https://github.com/misenhower/splatoon2.ink.git
synced 2026-04-29 10:56:47 -05:00
62 lines
1.5 KiB
Plaintext
62 lines
1.5 KiB
Plaintext
# Rate limiting zone (Note: 10m is the size of the address pool, not time)
|
|
limit_req_zone $binary_remote_addr zone=main:10m rate=10r/s;
|
|
|
|
server {
|
|
listen 80 default_server;
|
|
|
|
root /usr/share/nginx/html;
|
|
index index.html;
|
|
|
|
charset utf-8;
|
|
charset_types application/json;
|
|
|
|
# Docker reverse proxy IP passthrough
|
|
set_real_ip_from 172.16.0.0/12;
|
|
real_ip_header X-Real-IP;
|
|
|
|
# Log to a file as well as the main (Docker stdout) log
|
|
access_log /var/log/nginx/access.log;
|
|
access_log /logs/access.log;
|
|
|
|
# Rate limiting: allow bursts with no delay
|
|
limit_req zone=main burst=500 nodelay;
|
|
|
|
location / {
|
|
try_files $uri $uri/ /index.html;
|
|
}
|
|
|
|
# Force browsers to check for updated data
|
|
location /data/ {
|
|
add_header Cache-Control no-cache;
|
|
add_header Access-Control-Allow-Origin *;
|
|
autoindex on;
|
|
}
|
|
|
|
location /twitter-images/ {
|
|
add_header Cache-Control no-cache;
|
|
add_header Access-Control-Allow-Origin *;
|
|
}
|
|
|
|
location ~ \.ics$ {
|
|
add_header Content-Type text/calendar;
|
|
}
|
|
|
|
# CORS (for modern ES module support and third-party integrations)
|
|
location /assets/ {
|
|
add_header Access-Control-Allow-Origin *;
|
|
}
|
|
|
|
# Block access to the file used for screenshots
|
|
location = /screenshots.html {
|
|
internal;
|
|
}
|
|
}
|
|
|
|
# Redirect www to non-www
|
|
server {
|
|
listen 80;
|
|
|
|
server_name www.splatoon2.ink;
|
|
return 301 $scheme://splatoon2.ink$request_uri;
|
|
}
|