یک سرویس http api روی یک docker container با نام api
و روی پورت 8080
ران میشود.
از شما میخواهیم:
۱. با استفاده از nginx
درخواستها به پورت 80
را به این سرویس proxy کنید.
۲. با استفاده از nginx
یک rate limit
اضافه کنید.
این rate limit باید بر اساس header
با نام CLIENT-KEY
کار کند
و هر client مجاز باشد در هر دقیقه ۱۰ request ارسال کند
و پس از آن به مدت ۱ دقیقه response با status code برابر 429
دریافت کند.
همچنین در تنظیم rate limit توجه داشته باشید که
یک client-key
باید بتواند همه ۱۰ درخواست مجاز خود در دقیقه را،
در یک ثانیه بزند و محدودیتی از این لحاظ نداشته باشد.
محتوای فایل docker-compose.yml
که در داوری اجرا میشود:
version: "3"
services:
api:
build: "./api"
container_name: "api"
volumes:
- ./api:/api
ports:
- "8080:8080"
nginx:
image: registry.gitlab.com/qio/standard/nginx:1.21-alpine
container_name: nginx
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
شما تنها مجاز به ارسال فایل nginx.conf
هستید
و هر فایل دیگری که ارسال کنید در داوری اثر نخواهد داشت.
ارسال پاسخ برای این سؤال