需要帮助设置具有两个后端的 HAProxy

需要帮助设置具有两个后端的 HAProxy

我对 HAProxy 非常不熟悉,但我正在尝试将其设置为根据主机名代理不同的后端目标。例如,如果有人试图访问https://managementserver.domain.com用于系统管理以及https://packages.domain.com对于包存储库,它们可以连接到后端的适当资源。

我的 haproxy.cfg 看起来像这样:

global
  maxconn 10000
  log *:514  local0

defaults
  mode http
  timeout connect 5000ms
  timeout client 50000ms
  timeout server 50000ms
  log global
  option httplog

frontend domain.com
  bind *:443 ssl force-tlsv12 crt /etc/pki/tls/wildcard.domain.com.pem 

  acl host_manage hdr(host) -i managementserver.domain.com
  acl host_packages hdr(host) -i packages.domain.com

  use_backend mgmt_svr if host_manage
  use_backend packages_svr if host_packages

  default_backend mgmt_svr

backend mgmt_svr
  server management systems.domain.com:443 ssl verify none

backend packages_svr
  server packages repo.domain.com:443 check ssl verify none

实际上,访问管理服务器似乎可以正常工作,但尝试访问软件包存储库时,客户端上出现 404 错误。我尝试将客户端直接指向软件包存储库,它按预期工作。因此,这一定与我如何设置 HAProxy 有关,但我对 HAProxy 不够熟悉,不知道我做错了什么。

如果有什么不同,则软件包仓库正在 NexusPro 中运行。我们在那里的 yum 仓库中有一些自定义 RPM。尝试访问仓库时出现的具体错误是:

https://packages.domain.com/repository/custom-rpms/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"

任何帮助或建议都将不胜感激,因为许多文档似乎都是为那些比我更了解这一点的人编写的。

相关内容