Эта конфигурация HAProxy должна служить:
http://localhost:9000/google/
http://localhost:9000
Я не уверен, что не так с файлом конфигурации для HAProxy. Я пытался заставить HAProxy записывать все в stdout
(проверьте подробности конфигурации ниже), но при обращении к чему-либо, обслуживаемому localhost:9000
Я не вижу строк журнала (docker logs -f ...
), также: Я всегда возвращаюсь 503 Service Unavailable
.
Возможно, проблема в самом докере, но я не могу найти способ устранить / отладить эту настройку.
stdout
? Как это исправить?Конфигурационный файл HAProxy:
global
log 127.0.0.1 local0 debug
defaults
log global
mode http
timeout connect 3000
timeout client 3000
timeout server 3000
frontend reverse_proxy_routing_thing
bind *:9000
option tcplog
acl path_google path_beg /google/
use_backend backend_google if path_google
default_backend default_backend_wikipedia
backend default_backend_wikipedia
server my_default_backend_wikipedia www.wikipedia.org
backend backend_google
server my_backend_google www.google.com
Файл докера с именем Dockerfile.reverse-proxy
:
FROM haproxy:1.8.14-alpine
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
docker build -t rev-proxy-test-i -f Dockerfile.reverse-proxy .
docker run -d --name rev-proxy-test-c -p 9000:9000 rev-proxy-test-i