104 lines
3.0 KiB
Plaintext
104 lines
3.0 KiB
Plaintext
worker_processes auto;
|
|
pid /tmp/nginx.pid;
|
|
error_log /dev/stderr notice;
|
|
|
|
events {
|
|
worker_connections 256;
|
|
}
|
|
|
|
http {
|
|
include /etc/nginx/mime.types;
|
|
access_log /dev/stdout combined;
|
|
client_body_temp_path /tmp/client_body;
|
|
proxy_temp_path /tmp/proxy;
|
|
fastcgi_temp_path /tmp/fastcgi;
|
|
uwsgi_temp_path /tmp/uwsgi;
|
|
scgi_temp_path /tmp/scgi;
|
|
|
|
server {
|
|
listen 8080;
|
|
server_name _;
|
|
server_tokens off;
|
|
root /srv/image;
|
|
disable_symlinks on;
|
|
|
|
allow 127.0.0.1;
|
|
allow ::1;
|
|
include /tmp/trusted-proxy-allow.conf;
|
|
deny all;
|
|
|
|
location = /healthz {
|
|
proxy_pass http://image-hook:8081/healthz;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
|
|
location = /v1/status {
|
|
proxy_pass http://image-hook:8081/v1/status;
|
|
proxy_set_header Host $host;
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
}
|
|
|
|
location = /v1/inventory {
|
|
proxy_pass http://image-hook:8081/v1/inventory;
|
|
proxy_set_header Host $host;
|
|
proxy_buffering off;
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
}
|
|
|
|
location = /v1/hooks/gitea {
|
|
limit_except POST { deny all; }
|
|
client_max_body_size 1m;
|
|
proxy_pass http://image-hook:8081/v1/hooks/gitea;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Gitea-Signature $http_x_gitea_signature;
|
|
proxy_set_header X-Gitea-Event $http_x_gitea_event;
|
|
proxy_set_header X-Gitea-Delivery $http_x_gitea_delivery;
|
|
proxy_request_buffering on;
|
|
}
|
|
|
|
location = /v1/sync {
|
|
limit_except POST { deny all; }
|
|
client_max_body_size 4k;
|
|
proxy_pass http://image-hook:8081/v1/sync;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Image-Client $http_x_image_client;
|
|
proxy_set_header X-Image-Timestamp $http_x_image_timestamp;
|
|
proxy_set_header X-Image-Request-Id $http_x_image_request_id;
|
|
proxy_set_header X-Image-Signature $http_x_image_signature;
|
|
proxy_request_buffering on;
|
|
}
|
|
|
|
location ^~ /v1/admin/ { return 404; }
|
|
location = /image { return 404; }
|
|
location = /image/ { return 404; }
|
|
location ^~ /image/ { rewrite ^/image/(.*)$ /$1 last; }
|
|
|
|
location ^~ /game/ {
|
|
try_files $uri =404;
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
add_header X-Content-Type-Options nosniff always;
|
|
}
|
|
|
|
location ^~ /icons/ {
|
|
try_files $uri =404;
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
add_header X-Content-Type-Options nosniff always;
|
|
}
|
|
|
|
location = /hook/list.json {
|
|
try_files $uri =404;
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
}
|
|
|
|
location = /hook/inventory.v2.json {
|
|
try_files $uri =404;
|
|
add_header Access-Control-Allow-Origin "*" always;
|
|
}
|
|
|
|
location ~ (^|/)\. { return 404; }
|
|
location ~ \.php$ { return 404; }
|
|
location / { return 404; }
|
|
}
|
|
}
|