HAProxy 配置:
frontend https-proxy
bind *:443 ssl crt /path/to/certs
default_backend web
backend web
balance roundrobin
option httpchk
option forwardfor
option httpclose
server web-srv1 192.168.1.1:80 check inter 5000
server web-srv2 192.168.1.2:80 check inter 5000
Apache 会议:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example.com
</VirtualHost>
<VirtualHost *:443>
ServerName test.example.com
DocumentRoot /var/www/example.com
</VirtualHost>
共享 IP - 192.168.1.3
example.com 转到 192.168.1.3
test.example.com 转到 192.168.1.1
转到 test.example.com 并绕过代理,虚拟主机工作正常。
通过 example.com 上的代理,由于某种原因,它会转到 conf 文件中的默认实例。(SSL.conf 文件也包含在 apache conf 中)
不确定为什么会发生这种情况,也许是 apache 配置。
答案1
因为您的后端指向 192.168.1.1:80 和 192.168.1.2:80,但是您的 Apache vhost 配置为监听端口 443 而不是端口 80。