我正在使用带有几个容器的 docker。其中一个容器装有 haproxy,我希望将域名反向代理到其他装有 Web 服务器的容器之一。
发生了一些奇怪的事情。首先是 haproxy 的版本和状态页面。
haproxy --version
HA-Proxy version 1.5.12 2015/05/02
Copyright 2000-2015 Willy Tarreau <[email protected]>
当我进入mydomain.com
其中一个时会随机弹出以下两个窗口:
或者:
下面的图片有更多信息,但仍然显示错误的版本?
这是我的/etc/haproxy/haproxy.cfg
文件:
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend http-in
bind *:80
# Define hosts
acl host_mydomain hdr(host) -i mydomain.com
## figure out which one to use
use_backend mydomain_cluster if host_mydomain
backend mydomain_cluster
balance leastconn
option httpclose
option forwardfor
cookie JSESSIONID prefix
server node1 172.17.0.42:8080 cookie A check
这172.17.0.42
是 Web 服务器容器的 IP 地址及其端口8080
。
答案1
我先安装了 14.x,然后想升级到 15.x。升级不太方便。我实际上放弃了整个容器/镜像,从一个新的 ubuntu:trusty 镜像开始。
另外,有时它显示两个窗口的原因是统计数据和我的网络服务器都绑定到了端口 80,只需将统计数据上的端口绑定更改为其他端口即可解决此问题!
listen stats
bind :1988
stats uri /