برای اینکه سرویسی که روی VPS Windows شما گوش میدهد (وبسایت IIS، بازی، API، پایگاه داده) از اینترنت در دسترس باشد، علاوه بر هر قانونی در سمت میزبان، معمولاً باید پورت را در Windows Defender Firewall مجاز کنید.
پیش از شروع
- با Remote Desktop (RDP) وارد شوید: ببینید اتصال از طریق RDP.
- شماره پورت و پروتکل (TCP یا UDP) مورد استفاده برنامه خود را یادداشت کنید.
- فقط آنچه لازم است باز کنید (اصل حداقل دسترسی).
روش 1: ویزارد گرافیکی
- Windows Defender Firewall with Advanced Security را باز کنید (
wf.mscدر Run). - Inbound Rules → New Rule…
- Port → TCP (یا UDP) → Specific local ports را انتخاب کنید: مثلاً
80،443یا8080. - Allow the connection.
- پروفایلهای مناسب را تیک بزنید (Domain، Private، Public - روی VPS اغلب Public لازم است).
- یک نام روشن بدهید، مثلاً
HTTP IIS 80.
روش 2: PowerShell (TCP 80 و 443)
PowerShell را بهصورت administrator باز کنید:
PowerShellNew-NetFirewallRule -DisplayName "HTTP TCP 80" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow New-NetFirewallRule -DisplayName "HTTPS TCP 443" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
برای یک پورت سفارشی (مثلاً 3389 که برای RDP از قبل مدیریت شده است - بیدلیل تکرارش نکنید):
PowerShellNew-NetFirewallRule -DisplayName "MonApp TCP 5000" -Direction Inbound -Protocol TCP -LocalPort 5000 -Action Allow
بررسی اینکه سرویسی گوش میدهد
PowerShellGet-NetTCPConnection -State Listen | Where-Object { $_.LocalPort -eq 80 }
یا:
PowerShellnetstat -ano | findstr :80
یادآوریهای امنیتی
- باز کردن یک پورت سرویس را در معرض اسکن قرار میدهد: بهروزرسانیها، رمزهای عبور قوی و ترجیحاً TLS برای وب را رعایت کنید.
- اگر ترافیک به سرور نمیرسد، security groupها / ACLها یا معادل آنها را در سمت زیرساخت نیز بررسی کنید.
عیبیابی
- همچنان در دسترس نیست: مطمئن شوید برنامه روی
0.0.0.0(همه اینترفیسها) یا روی IP عمومی گوش میدهد، نه فقط روی127.0.0.1. - RDP مسدود شده: قوانین سیستمی RDP را حذف نکنید؛ اگر دسترسیتان قطع شد، از کنسول ارائهدهنده استفاده کنید.