Hello à tous,
Je tente de contacter une API en cURL depuis mon hébergement OVH (hébergement mutualisé).
Lorsque je teste l'url en-dehors de mon hébergement, j'accède bien à la réponse (j'ai un code réponse 200).
Mais lorsque je fais la même chose depuis mon hébergement dédié, j'obtiens systématiquement (et instantanément) un 502 Bad Gateway.
L'url est en https, j'ai lu que OVH pouvait filtrer cela.
Est-ce qu'il y a un moyen de contourner ce problème ?
Mon url en cURL est :
curl -X 'GET' <br /> 'https://backend.integration.passculture.app/v2/bookings/token/(mon token que je tente de valider)' <br /> -H 'accept: application/json' <br /> -H 'Authorization: Bearer (ma clé d'authentification)'
Voici le code utilisé :
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://backend.integration.passculture.app/v2/bookings/token/(mon token que je tente de consulter');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'accept: application/json',
'Authorization: Bearer (ma clé d'authentification)',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
https://backend.integration.passculture.app
Bonjour,
Ce serveur (hébergé chez Google) supporte TLS1.0 à TLS1.3 ce qui me laisse penser que ce n'est pas un problème de négociation SSL.
Quel est votre hébergement dédié, comme vous le dites ?
Pour l'hébergement dédié, je voulais parler de mon hébergement mutualisé, qui est sur le cluster 011 (213.186.33.40). Est-ce qu'il est possible que ce soit un blacklistage de cette IP qui cause le Bad Gateway ? Ou bien je m'y prends mal dans ma transcription entre l'url cURL et le code PHP cURL ?
cluster 011
D'après https://help.ovhcloud.com/csm/fr-web-hosting-clusters-ip-addresses?id=kb_article_view&sysparm_article=KB0052378#cluster-011
on peut voir que l'adresse IP de sortie est 51.68.11.215
Demandez à votre fournisseur d'API si cette adresse IP est blacklistée.
Sinon reprenez votre code, et remplacez https://backend.integration.passculture.app par https://votredomaine ; (en mettant votre domaine réel) ; ça devrait faire une erreur 404 et vous devriez retrouver ça dans les logs de votre hébergement.
En changeant l'url appelée par mon domaine, j'ai bien une erreur 404 qui arrive dans mes logs du site.
Du coup ça signifierait que c'est bien l'autre site qui bloque l'appel en blacklistant l'IP mutualisée ?
Du coup ça signifierait que c'est bien l'autre site qui bloque l'appel en blacklistant l'IP mutualisée ?
A priori je dirais que oui, vu que c'est un serveur web / reverse proxy qui répond 502.
Si c'était dû à OVH qui bloque la connexion sortante on aurait eu un timeout ou une erreur de connexion.
Bonjour,
si vous recevez une erreur 4XX/5XX cela vient forcément du serveur en face et non de OVH.
Ici votre erreur 502 peut être dû a votre code curl qui ne correspond pas à ce que le serveur en face attend.
Si c'est le cas, là seule votre fournisseur est capable de vous répondre avec éventuellement un code d'exemple pour comprendre ce qui pourrais bloquer dans votre code.
Dans la plus grande théorie des codes trouvés sur stackoverflow, cela devrait fonctionner :<br />$authorization = "Authorization: Bearer {TOKEN}";<br />$ch = curl_init('https://backend.integration.passculture.app/v2/bookings/token/{TOKEN}');<br />curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization ));<br />curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");<br />curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);<br />$result = curl_exec($ch);<br />curl_close($ch);<br />return json_decode($result);<br />
Cordialement, janus57