Folosesc o mașină virtuală Debian pe Google Cloud care lucrează ca furnizor de API.
Accesez API-ul de pe Android pe portul tcp 30300 și funcționează OK.
De asemenea, accesez API-ul dintr-o aplicație C++ care rulează pe microcontrolere și funcționează, de asemenea, OK.
Apoi am decis să ofer și mijloacele de a accesa API-ul din PHP și nu funcționează.
De la un server extern care rulează Apache, API-ul se comportă ca și cum nu ar fi accesibil, monitorul API nu arată deloc acces.
Apoi am mutat scriptul PHP pe același server care rulează API și tocmai am schimbat serverul țintă de la adresa sa web la http://127.0.0.1:30300/alprbr si functioneaza OK.
Am verificat îndeaproape regulile de firewall Compute Engine și am găsit că regula permite doar IPV6 și nu am găsit nicio modalitate de a permite traficul pe adresa IP publică pentru IPV4.
Nu știu cu adevărat dacă aceasta este cauza problemei, dar pare ceva de rezolvat înainte de a încerca altceva.
Regulă Google Cloud Firewall:
alprbr
Intrare
Aplica la toate
Interval IP: 0.0.0.0/0
tcp:30300
Permite
1000
Mod implicit
netstat -an | grep "ASCULTĂ"
se intoarce:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* ASCULTĂ
tcp 0 0 0.0.0.0:80 0.0.0.0:* ASCULTĂ
tcp 0 0 0.0.0.0:22 0.0.0.0:* ASCULTĂ
tcp 0 0 0.0.0.0:1880 0.0.0.0:* ASCULTĂ
tcp6 0 0 :::22 :::* ASCULTĂ
tcp6 0 0 :::30300 :::* ASCULTĂ
Ce fac greșit?
Asistență binevenită.