Haproxy - usando o monitor-uri no Heroku

1

Estamos usando o haproxy no heroku para rotear todos os nossos vários micro-serviços (também no heroku), então precisamos apenas de um URL nas configurações.

Estou tentando usar esse truque:

link

para exibir um arquivo robots.txt para impedir tudo, desde a busca na API (todos protegidos por autenticação; isso ocorre por motivos de desempenho e não por motivos de segurança).

Esta parece ser a maneira mais leve de fazer isso, e funciona lindamente localmente (lançada via "heroku local"). No entanto, indo para /robots.txt no nosso ambiente heroku real dá um 503 Server Response Interrupted.

Snippet haproxy.cfg:

frontend http-in
 bind *:"${PORT}"
 monitor-uri /robots.txt
 errorfile 200 "${STATIC_PATH}/robots.http"
 errorfile 503 "${STATIC_PATH}/robots.http"

Onde STATIC_PATH é definido em heroku como "/ app / static".

static / robots.http:

HTTP/1.0 200 Found
Cache-Control: no-cache
Connection: close
Content-Type: text/plain

User-Agent: *
Disallow: /

Eu sei que o haproxy está encontrando o robots.http, porque se eu definir o env var como um caminho inválido, o haproxy se recusa a iniciar. A partir da documentação, ele deve manter essa resposta na memória e servi-la quando o monitor-uri for correspondido.

Se remover a linha "errorfile 200", o haproxy exibe sua página OK do servidor padrão, portanto, o monitor-uri está correspondendo corretamente e 200 é a resposta que está tentando retornar.

A entrada "errorfile 503" existe por causa disso: link mas não fez diferença.

Alguma outra sugestão? Alguém mais tentou isso antes?

Obrigado B

    
por cruise 20.10.2016 / 14:29

0 respostas