我在Mac上运行了一个haproxy配置,该配置在linux上可以完美运行,但是我什至无法使代理响应。这是我的配置:
defaults
mode http
timeout connect 5000ms
timeout client 5000ms
timeout server 5000ms
frontend http
bind *:80
acl oracle_content hdr(ContentType) -i application/vnd.api+json
acl oracle_accept hdr(Accept) -i application/vnd.api+json
use_backend oracle_be if oracle_content
use_backend oracle_be if oracle_accept
default_backend matrix_be
backend oracle_be
balance roundrobin
server oracle1 theoracle.stage.company.com:8080
backend matrix_be
balance roundrobin
server matrix1 192.168.1.6:3000
docker -v
Docker version 1.12.0, build 8eab29e
唯一的机器特定配置是matrix_be条目的IP地址,它必须是我的本地接口(interface)。在2个Mac上无法正常工作,我尝试将代理绑定(bind)到多个接口(interface)。我什至没有收到504,这表明代理很好,但是后端服务之一配置错误。
有想法吗?
最佳答案
由于mac limitations上的当前docker,即使容器声明端口80开放供业务使用,也必须传递-p 80:80标志
关于macos - Mac 10.11.5上的docker + haproxy无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39403582/