CodeShot
Nginx1 دقیقه مطالعه

Nginx چیست؟

وب‌سرور و Reverse Proxy پرسرعت و سبک که برای Load Balancing، سرو فایل استاتیک و مدیریت SSL جلوی برنامه‌های Backend قرار می‌گیرد.

چرا مهم است؟

Nginx معمولاً لایه اول هر معماری وب Production است — قبل از رسیدن ترافیک به برنامه دات‌نت/Node، Nginx مسیریابی، فشرده‌سازی، SSL و توزیع بار را انجام می‌دهد.

تعریف

Nginx یک وب‌سرور و Reverse Proxy رویدادمحور (Event-Driven) است که برخلاف سرورهای سنتی Thread-per-Request، با تعداد کمی Worker Process هزاران اتصال همزمان را مدیریت می‌کند.

مثال: Reverse Proxy جلوی یک برنامه دات‌نت

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

کاربردهای اصلی

  • Reverse Proxy: پنهان‌کردن پورت داخلی برنامه و مسیریابی ترافیک به آن.
  • Load Balancing: توزیع درخواست بین چند نمونه (Instance) از برنامه.
  • سرو فایل استاتیک و SSL Termination: رمزگشایی HTTPS در Nginx، ترافیک داخلی به برنامه ساده HTTP.

اشتباه رایج

❌ فراموش‌کردن هدر X-Forwarded-For/X-Forwarded-Proto هنگام Proxy — بدون آن، برنامه Backend آدرس IP واقعی کاربر یا پروتکل اصلی (https) را نمی‌بیند و لاگ/Redirectها اشتباه می‌شوند.

منبع و مطالعه بیشتر

خلاصه

Nginx به‌عنوان Reverse Proxy جلوی برنامه Backend قرار می‌گیرد و SSL/Load Balancing/فایل استاتیک را مدیریت می‌کند. هنگام Proxy همیشه هدرهای X-Forwarded را ست کنید. مرجع کامل: مستندات رسمی Nginx و راهنمای دیپلوی ASP.NET Core پشت Nginx در Microsoft Learn.

این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←