Tôi đang sử dụng máy ảo Debian trên Google Cloud với tư cách là nhà cung cấp API.
Tôi truy cập API từ Android trên cổng tcp 30300 và nó hoạt động tốt.
Tôi cũng truy cập API từ Ứng dụng C++ chạy trên vi điều khiển và nó cũng hoạt động tốt.
Sau đó, tôi quyết định cung cấp phương tiện để truy cập API từ PHP và nó không hoạt động.
Từ một máy chủ bên ngoài chạy Apache, API hoạt động như thể nó không thể truy cập được, trình giám sát API hoàn toàn không hiển thị bất kỳ quyền truy cập nào.
Sau đó, tôi đã chuyển tập lệnh PHP sang cùng một máy chủ đang chạy API và chỉ thay đổi máy chủ mục tiêu từ địa chỉ web của nó thành http://127.0.0.1:30300/alprbr và nó hoạt động tốt.
Tôi đã kiểm tra chặt chẽ các quy tắc tường lửa của Compute Engine và nhận thấy quy tắc này chỉ cho phép IPV6 và tôi không tìm thấy cách nào cho phép lưu lượng truy cập trên địa chỉ IP công cộng cho IPV4.
Tôi thực sự không biết liệu đây có phải là nguyên nhân của sự cố hay không nhưng có vẻ như cần giải quyết vấn đề gì đó trước khi thử một thứ khác.
Quy tắc tường lửa đám mây của Google:
alprbr
Đầu vào
Áp dụng cho tất cả
Dải IP: 0.0.0.0/0
tcp:30300
Cho phép
1000
mặc định
netstat -an | grep "LẮNG NGHE"
trả về:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* NGHE
tcp 0 0 0.0.0.0:80 0.0.0.0:* NGHE
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE
tcp 0 0 0.0.0.0:1880 0.0.0.0:* NGHE
tcp6 0 0 :::22 :::* NGHE
tcp6 0 0 :::30300 :::* NGHE
Tôi đang làm gì sai?
Hỗ trợ chào mừng.