Estamos usando OpenShift 3.4 . Usando una imagen PHP s2i para pod. Al hacer un curl desde el pod a un recurso externo, devuelve 405 Not Allowed nginx/1.16.1 . El código funciona bien en la configuración local. Como entendí de la web, se debe al hecho de que nuestro propio servidor no permite la solicitud POST y debemos configurarlo para permitir lo mismo.
$ch = curl_init($ldapAuthURL); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); $response = curl_exec($ch); No puedo resolver esto, ya que no tengo ninguna experiencia con OpenShift . Intenté buscar el archivo httpd pero no se encuentra en ninguna parte. El equipo de soporte tampoco puede ayudar, dicen que solo admiten empujar y tirar de imágenes y que es nuestro código de aplicación el que está defectuoso.
Para mi consternación, el equipo de soporte tenía razón, era un problema de la aplicación. El miembro de mi equipo configuró la URL de la interfaz que ejecutaba una aplicación angular en nginx . Por lo tanto, el error críptico 405 nginx ya que la interfaz no admite solicitudes de publicación en esa URL.
Es por eso que no había archivos de configuración de Nginx en el pod de PHP, ya que estaba usando Apache para servir los archivos.
Pasos para resolver: