اضافه کردن Nginx به UFW
اگر مدیر سرور یا دواپس هستید احتمالا با UFW کار کردهاید. با کمک UFW میتوانید تنظیمات امنیتی را فعال کنید و یک فایروال را در سیستم خود نصب کنید. اگر کاربر حرفهای هستید، احتمالا روش کار با UFW را بلد هستید در غیر اینصورت این نوشته مناسب شما است. در این نوشته پورتهای Nginx را در UFW اضافه خواهیم کرد و مشکل block شدن پورتهای انجینکس را با UFW حل خواهیم کرد.
اضافه کردن Nginx به UFW
ابتدا به ssh وارد شوید و سپس به مسیر زیر بروید:
/etc/ufw/applications.d/
سپس با دستور زیر فایلی با نام nginx را در این مسیر بسازید:
vi nginx
محتوای این فایل را با کد زیر پر کنید:
[Nginx HTTP] title=Web Server (Nginx, HTTP) description=Small, but very powerful and efficient web server ports=80/tcp [Nginx HTTPS] title=Web Server (Nginx, HTTPS) description=Small, but very powerful and efficient web server ports=443/tcp [Nginx Full] title=Web Server (Nginx, HTTP + HTTPS) description=Small, but very powerful and efficient web server ports=80,443/tcp
سپس کد esc را بزنید و بعد کامند wq را بزنید تا ذخیره شود. دقت کنید حتما با کاربر root این فرآیند را انجام دهید در غیر اینصورت دستورات بالا را با sudo اجرا کنید. سپس nignx را با دستورات زیر به ufw rulesها وارد کنید:
ufw app update nginx ufw allow 'Nginx HTTP' ufw allow 'Nginx HTTPS' ufw allow 'Nginx Full'
بعد از اجرای مرحله به مرحلهی موارد بالا پورتهای nginx به فایروال ufw اضافه شده است.
اگر با کد و آموزش بالا مشکلی دارید در بخش نظرات همین نوشته برای ما بنویسید.



















این کار باعث میشه توی لاگ ufw هم چیزی اضافه بشه یا نه؟
دستورات ufw allow به صورت پیشفرض قانون جدیدی به فایل log اضافه نمیکنند. اگر میخواهید ترافیک رد شده یا پذیرفته شده را در لاگ ببینید، باید از دستوراتی مانند ufw logging on استفاده کنید تا لاگبرداری فایروال را فعال کنید.
اگه ufw غیر فعال باشه و این دستوراتو بزنیم چه اتفاقی میفته؟
اگر UFW غیرفعال باشد، قوانین اضافه میشوند اما عملاً هیچ تأثیری بر ترافیک ورودی و خروجی سرور نخواهند داشت. برای فعال شدن قوانین باید حتماً ufw enable را اجرا کنید.
این کار روی سرعت یا امنیت سرور تاثیر میذاره؟
باز کردن پورتهای Nginx در UFW تأثیر منفی بر سرعت ندارد (تنها یک بررسی سریع فایروال است). اما از نظر امنیتی، این کار سطح امنیت را افزایش میدهد؛ زیرا اطمینان حاصل میشود که فقط ترافیک مورد نیاز (HTTP/HTTPS) اجازه ورود به سرور شما را دارد.
اگه nginx چندتا دامنه داشته باشه، این تنظیم برای همشون جواب میده؟
بله، این تنظیم (باز کردن پورتهای ۸۰ و ۴۴۳) برای تمام دامنههایی که توسط آن اینستنس Nginx سرویسدهی میشوند، کار میکند. فایروال (UFW) بر اساس پورت کار میکند، نه بر اساس نام دامنه.
اگه ufw قبلا فعال باشه و پورت 80 بسته باشه، با این روش باز میشه یا باید دستی هم آزاد کنیم؟
اگر در فایل پروفایل Nginx در UFW (یا با استفاده از دستور ufw allow “Nginx Full”) اقدام کنید، بله، پورتهای ۸۰ و ۴۴۳ بهصورت خودکار باز و آزاد میشوند و نیازی به تعریف دستی قواعد جدید نیست.