diff --git a/nginx/default.conf b/nginx/default.conf index a6718b4..ebfa6e7 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -1,3 +1,6 @@ +# /api/webai/* rate limit — web-ai pull worker (60 req/min, burst 20) +limit_req_zone $binary_remote_addr zone=webai:5m rate=60r/m; + server { listen 80; server_name _; @@ -132,6 +135,20 @@ server { proxy_pass http://travel-proxy:8000/api/travel/; } + # webai API — rate limited web-ai pull worker + location /api/webai/ { + limit_req zone=webai burst=20 nodelay; + limit_req_status 429; + + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-WebAI-Key $http_x_webai_key; + proxy_pass http://stock:8000; + } + # stock API location /api/stock/ { proxy_http_version 1.1;