MoviePilot/nginx.conf
2023-07-09 09:53:59 +08:00

84 lines
2.2 KiB
Nginx Configuration File

#user nobody;
worker_processes auto;
worker_cpu_affinity auto;
events {
worker_connections 1024;
}
http {
# 设置缓存路径和缓存区大小
proxy_cache_path /tmp levels=1:2 keys_zone=my_cache:10m max_size=100m inactive=60m use_temp_path=off;
sendfile on;
keepalive_timeout 3600;
server {
include /etc/nginx/mime.types;
default_type application/octet-stream;
listen 3000;
server_name moviepilot;
location / {
expires 600s;
add_header Cache-Control must-revalidate;
root /app/public;
index index.html;
}
location /api/v1/site/icon/ {
# 站点图标缓存
proxy_cache my_cache;
# 缓存响应码为200和302的请求1小时
proxy_cache_valid 200 302 1h;
# 缓存其他响应码的请求5分钟
proxy_cache_valid any 5m;
# 缓存键的生成规则
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
# 向后端API转发请求
proxy_pass http://backend_api;
# 设置缓存忽略的请求头
proxy_ignore_headers Cache-Control;
proxy_ignore_headers Set-Cookie;
# 设置缓存绕过的条件
proxy_cache_bypass $http_cache_control $http_pragma $http_authorization;
proxy_no_cache $http_cache_control $http_pragma $http_authorization;
}
location /api {
# 后端API
proxy_pass http://backend_api;
rewrite ^.+mock-server/?(.*)$ /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
upstream backend_api {
# 后端API的地址和端口
server 127.0.0.1:3001;
# 可以添加更多后端服务器作为负载均衡
}
}