Pregunta

Tengo dificultades para obtener la autenticación HTTP básica que trabaja en mi aplicación PHP de OpenShift escalable.En mi archivo .htaccess tengo:

AuthUserFile path/to/.htpasswd
AuthType Basic
AuthName "My App"
Require valid-user

Esto funciona bien en mi servidor de pruebas local, pero cuando intento usarlo en OpenShift, obtengo un servicio 503 no disponible, y en mi haproxy.log i obtengo:

[WARNING] 101/113040 (368468) : Server express/local-gear is DOWN, reason: Layer7 wrong status, code: 401, info: "Authorization Required", check duration: 2ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
[ALERT] 101/113040 (368468) : proxy 'express' has no server available!

Supongo que el problema debe estar con el servidor Haproxy, pero no tengo ni idea de cómo solucionarlo.¿Alguna idea?

¡Muchas gracias!

¿Fue útil?

Solución

Debe tener una URL que el Haproxy pueda acceder, o de lo contrario, lanzará un error 503.Si desea simplemente hacer una página de UP.HTML y excluirlo de su configuración .HTPASSWD, luego cambie su HAPROXY / HAPROXY.CFG para encuestar a esa URL en lugar de /.

Además, si ese archivo .htpasswd no se almacena dentro de su git repo, no se copiará en cada marcha en su aplicación escalada.Si está en su git repo, y por lo tanto, en las carpetas accesibles en la web, entonces eso es inseguro.

Otros consejos

haproxy ofrece una característica que comprueba una cierta URL como un calificador de cortesía. OpenShift habilita esto por defecto. Asegúrese de que se apunta a la URL correcta, o deshabilitarla cambiando ~ / haproxy / conf / haproxy.cfg:

option httpchk GET /

en

#option httpchk GET /

Leer más en este hilo de OpenShift

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top