🔴 ĐÃ MỞ PORT FIREWALL – APP VẪN KHÔNG VÀO ĐƯỢC?
Trước khi thêm rule mới, hãy kiểm tra ứng dụng đang listen trên địa chỉ nào. Process báo đang chạy chưa chắc đã mở port để nhận kết nối theo cách bạn mong muốn.
🔎 Trên máy chủ Linux, dùng lệnh này để kiểm tra TCP port 8080:
sudo ss -ltnp 'sport = :8080'
Lệnh lọc các socket TCP đang ở trạng thái LISTEN trên port 8080 và yêu cầu hiển thị thông tin tiến trình.
Sau khi chạy, chú ý địa chỉ local. Ví dụ:
127 . 0 . 0 . 1 : 8080
⚠️ Đây là kết quả minh họa. 127 . 0 . 0 . 1 là loopback, tức ứng dụng chỉ listen trên địa chỉ nội bộ của máy chủ. Vì vậy, truy cập trực tiếp qua IP public có thể không tới được ứng dụng.
🛠️️ Tiếp theo, xác định bạn muốn ứng dụng được truy cập theo cách nào:
- Đặt sau Nginx hoặc reverse proxy? Bind vào 127 . 0 . 0 . 1 có thể là chủ ý. Kiểm tra proxy có chuyển request đến đúng port không.
- Muốn truy cập trực tiếp? Xem lại cấu hình bind của ứng dụng để xác nhận nó listen trên địa chỉ phù hợp.
- Địa chỉ listen đã đúng dự kiến? Tiếp tục kiểm tra firewall và đường mạng.
💡 LISTEN chỉ cho biết socket đang chờ kết nối; trạng thái này không xác nhận client bên ngoài đã truy cập được. Kiểm tra địa chỉ trước giúp bạn biết nên xem cấu hình ứng dụng hay đi tiếp sang lớp mạng.
📌 Mình để hướng dẫn ss đầy đủ ở bình luận đầu tiên.
💬 Lần gần nhất app chạy mà vẫn không vào được, bạn kiểm tra gì đầu tiên?