diff --git a/nginx/cradle_all.conf b/nginx/cradle_all.conf index 1093467..cb28d11 100644 --- a/nginx/cradle_all.conf +++ b/nginx/cradle_all.conf @@ -59,6 +59,28 @@ server { } location ^~/api/v1 { + + # ↓↓↓ 请求限速与超时控制(当前已禁用) ↓↓↓ + + # limit_req zone=req_limit_per_ip burst=20 nodelay; + # 启用限流,每个 IP 每秒最多 10 个请求(需在 http{} 中定义 zone) + # burst=20:允许瞬时爆发 20 个请求 + # nodelay:超出速率直接返回 429,不排队 + + # proxy_connect_timeout 3s; + # 与后端服务器建立连接的超时时间(连接超时会返回 504) + + # proxy_send_timeout 60s; + # 向后端发送完整请求的超时时间(请求体太大/后端卡顿会触发) + + # proxy_read_timeout 60s; + # 等待后端返回响应的最大时间(响应慢会触发 504) + + # send_timeout 60s; + # 向客户端发送响应的超时时间(客户端卡顿可能触发) + + # ↑↑↑ 请求限速与超时控制(当前已禁用) ↑↑↑ + proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..72c484e --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,86 @@ +#user www-data; +user root; +worker_processes auto; +pid /run/nginx.pid; +include /etc/nginx/modules-enabled/*.conf; + +events { + worker_connections 768; + # multi_accept on; +} + +http { + + ## + # Basic Settings + ## + # # ✅ 全局限流放在这里,http 块最上方或合适位置,返回429状态码 + # limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s; + + sendfile on; + tcp_nopush on; + types_hash_max_size 2048; + # server_tokens off; + + # server_names_hash_bucket_size 64; + # server_name_in_redirect off; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + ## + # SSL Settings + ## + + ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE + ssl_prefer_server_ciphers on; + + ## + # Logging Settings + ## + + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log; + + ## + # Gzip Settings + ## + + gzip on; + + # gzip_vary on; + # gzip_proxied any; + # gzip_comp_level 6; + # gzip_buffers 16 8k; + # gzip_http_version 1.1; + # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; + + ## + # Virtual Host Configs + ## + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} + + +#mail { +# # See sample authentication script at: +# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript +# +# # auth_http localhost/auth.php; +# # pop3_capabilities "TOP" "USER"; +# # imap_capabilities "IMAP4rev1" "UIDPLUS"; +# +# server { +# listen localhost:110; +# protocol pop3; +# proxy on; +# } +# +# server { +# listen localhost:143; +# protocol imap; +# proxy on; +# } +#}