我在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/

10-16 02:18