محدودیت با nginx


یک سرویس 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 که در داوری اجرا می‌شود:

extensionFromNamedocker-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
YAML

شما تنها مجاز به ارسال فایل nginx.conf هستید و هر فایل دیگری که ارسال کنید در داوری اثر نخواهد داشت.

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.