Pergunta

Estou tendo dificuldades para fazer com que a autenticação HTTP básica funcione em meu aplicativo Openshift PHP escalável.No meu arquivo .htaccess eu tenho:

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

Isso funciona muito bem no meu servidor de teste local, mas quando tento usá-lo no Openshift, recebo um 503 Serviço indisponível e no meu haproxy.log recebo:

[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!

Acho que o problema deve estar no servidor HAProxy, mas não tenho ideia de como corrigi-lo.Alguma ideia?

Muito obrigado!

Foi útil?

Solução

Você precisa ter um URL que o haproxy possa acessar, caso contrário, ocorrerá um erro 503.Se você quiser apenas criar uma página up.html e excluí-la das configurações de .htpasswd, altere seu haproxy/haproxy.cfg para pesquisar esse URL em vez de /.

Além disso, se esse arquivo .htpasswd não estiver armazenado dentro de seu repositório git, ele não será copiado para cada equipamento em seu aplicativo dimensionado.Se estiver em seu repositório git e, portanto, em suas pastas acessíveis na web, isso é inseguro.

Outras dicas

haproxy oferece um recurso que verifica um determinado URL como uma verificação de integridade.Openshift permite isso por padrão.Certifique-se de que ele esteja apontado para o URL correto ou desative-o alterando ~/haproxy/conf/haproxy.cfg:

option httpchk GET /

em

#option httpchk GET /

leia mais neste tópico openshift

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top