我有一个正在运行的节点服务器,它在3个不同的端口上进行侦听。
我有一个URL的三个不同子域,该子域指向正在运行/侦听该节点的服务器的端口80
。
我想要做的是使用haproxy
将请求从子域传递到其各自的端口。
我的节点服务器在主机上公开了端口,并进行了 jetty 化。我可以使用其端口上的服务器IP地址单独访问它们,因此它们似乎运行良好。
我的haproxy
也将在docker容器中运行。我对haproxy
完全陌生,尽管我对docker相当有信心。我通过onine文章和博客写了haproxy配置,但是一旦我使用以下方法启动了docker容器:
docker run --name my-running-haproxy \
-v ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro \
haproxy:1.6.2
我收到以下错误:
因此,我尝试通过删除配置选项进行调试,直到配置非常简单为止:
haproxy.cfg
global
maxconn 256
debug
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:80
default_backend default-server
backend default-server
server s0 127.0.0.1:3000
但是我仍然遇到同样的错误。
有人可以帮我吗?
最佳答案
我遇到了同样的问题,并通过使用配置文件的完整路径解决了该问题。
原版的
docker run --name my-running-haproxy \
-v ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro \
haproxy:1.6.2
固定
docker run --name my-running-haproxy \
-v /usr/local/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro \
haproxy:1.6.2
关于docker - 来自守护程序的错误响应:(config)包含本地卷名的无效字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34130238/