我已经配置了remoteip 并检查它是否确实已加载。Remoteip.conf 也会被加载。我通过在以下(正确的)配置中引入格式错误的 IP 来检查后者:
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1 10.10.0.1 10.10.0.2
Run Code Online (Sandbox Code Playgroud)
现在,当最终用户加载时,我可以验证是否看到X-Forwarded-For值为10.10.255.100的标头,这是正确的。然而REMOTE_ADDRPHP 中的变量仍然是负载均衡器的 IP。
根据关于这个主题的每个教程,此时应该可以正常工作。
我有 LB 服务器,目前负载平衡 2 台机器作为 apache2“http”和“https”请求作为主/从,
如何使用默认端口“22”向同一两台机器发出相同的服务器负载平衡“sftp”请求?
frontend ft_app
bind 1.1.1.1:80
reqadd X-Forwarded-Proto:\ http
default_backend bk_app
frontend ft_apps
bind 1.1.1.1:443 ssl crt /etc/ssl/certs/bundle.pem ca-file /etc/ssl/certs/cert.cer verify optional
reqadd X-Forwarded-Proto:\ https
default_backend bk_apps
backend bk_app
server server1 2.2.2.2:80 check
server server2 3.3.3.3:80 check backup
backend bk_apps
server servers1 2.2.2.2:443 ssl check verify none
server servers2 3.3.3.3:443 ssl check verify none backup
Run Code Online (Sandbox Code Playgroud) 我想在部署应用程序期间远程控制我的 HAproxy。例如,在停止“app-server1”上的应用程序之前,我想指示 HA 代理禁用后端服务器“app-server1”。当应用程序再次运行时,我想发出启用命令。
通过“stats socket ...”,我创建了一个 UNIX 套接字或一个 TCP 套接字。对于远程访问,它必须是 TCP 套接字。然而,这显然会带来一个我想要缓解的漏洞。
我可以通过客户端 IP 列表、SSL 或其他方式限制对管理套接字的访问吗?
由于我在搜索时找到的有关该主题的信息量有限,我想知道是否还有另一种适合我的用例的推荐远程操作方式?
我确实使用脚本来实现此目的,但不允许脚本通过 SSH 访问运行 HA-proxy 的服务器,这不是一个选项。
因为我有大量每天都在变化的 https 证书(具有许多域的大型多租户应用程序),所以我有一个脚本,可以在几乎随机的时间重新加载 haproxy。这工作正常。
当我向后端服务器部署新版本的应用程序时,我还将后端服务器设置为 MAINT。这也很好用。
麻烦的是,如果重新加载发生,我设置为 MAINT 状态的任何服务器都会重新加载为 READY。这让客户可以看到等待甚至错误消息。
有没有办法在重新加载 haproxy 时保留后端服务器的当前状态?
目前我运行 Forefront TMG 将 Exchange 2010 反向代理到外部世界。
我现在正在准备 Exchange 2016 环境,随着 Forefront TMG 过时,我想要一个没有它的解决方案。我现在有 pfSense 和 HAProxy 作为第一道防线和负载平衡。
我的问题是:您应该在负载均衡器和 Exchange 之间添加反向代理吗?这有什么好处?这一切都运行在相同的管理程序和存储基础设施之下。
我知道 HAPrxoy 1.8 现在具有内存中缓存小对象的能力,这可能会加速 Web 服务。但另一方面,只有 OWA 和 ECP 有一些静态内容。
有任何想法吗?
你好,
罗纳德
我正在尝试向定向到特定端口的响应添加一些安全标头。我有以下配置的前端:
frontend desenv_ext_1
bind *:80
bind *:443 ssl crt /etc/ssl/certs/cert.pem
mode http
option tcplog
default_backend desenv_1
timeout client 5m
#ACL to new attempt
acl header_c dst_port 80
#Attempt with no ACL
http-response set-header X-Frame-Options SAMEORIGIN
#Attempt with ssl ACL
http-response set-header Strict-Transport-Security max-age=31535400;\ includeSubDomains;\ preload; if {ssl_fc}
http-response add-header Referrer-Policy no-referrer if !{ ssl_fc }
#Attempt with header_c ACL
http-response set-header X-Content-Type-Options nosniff if header_c
http-response add-header X-XSS-Protection 1;\ mode=block if header_c
#Attempt with rspadd
rspadd X-Backen-Serve\ laranja if header_c …Run Code Online (Sandbox Code Playgroud) 我最近尝试在 HAProxy 上设置基于 SNI 的路由以进行 mongodbmongodb+srv协议连接。
我让它工作了,但直到我把
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
Run Code Online (Sandbox Code Playgroud)
在我的前端配置中它开始正常工作
如果没有这些(或仅使用其中之一),大约 70% 的请求都会出现零星的连接重置。请注意,有时连接确实成功建立。
根据http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#4-tcp-request%20content
基于内容的规则按照其确切的声明顺序进行评估。如果没有规则匹配或没有规则,则默认操作是接受内容。对于可以插入的规则的数量没有具体限制。
所以它应该在默认情况下工作。
要么我缺少一些基本的 TCP 概念,要么缺少一些特定的 Mongo 连接细节。但我注意到几乎每个人在使用基于 SNI 的路由时都定义了相同的规则,因此它对于大多数人来说一定是有意义的。
工作 HAProxy 配置:
frontend fe_mongo-nonprod
bind :27017
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
acl mongoAtlas-01 req_ssl_sni -i host1.mongodb.net
acl mongoAtlas-02 req_ssl_sni -i host2.mongodb.net
acl mongoAtlas-03 req_ssl_sni -i host3.mongodb.net
use_backend be_mongo-nonprod if mongoAtlas-01 || mongoAtlas-02 || mongoAtlas-03
backend be_mongo-nonprod …Run Code Online (Sandbox Code Playgroud) 任何人都可以指导我使用 HA 代理,因为我是它的新手。
请指导我。
我已经浏览了下面的 URL, http://haproxy.1wt.eu/download/1.3/doc/configuration.txt 除了上面的 URL,请提供一些额外的东西,这样我就可以开始工作了。
我正在尝试使用 UCARP 和 HAProxy 在负载平衡配置中设置 2 个 Glassfish 服务器
Server1有 2 个 IP xxx17 和 xxx18
HAProxy 只监听 xxx18,Glassfish 只监听 xxx17,运行以下配置...
global
maxconn 4096
debug
user haproxy
group haproxy
defaults
mode http
retries 3
option redispatch
listen wms x.x.x.18:8080
source x.x.x.18
option httpchk
balance leastconn
server Server1 x.x.x.17:8080 check inter 2000 fastinter 500 fall 2 weight 50
server Server2 x.x.x.19:8080 check inter 2000 fastinter 500 fall 2 weight 50
Run Code Online (Sandbox Code Playgroud)
具有 1 个 IP xxx19 的Server2正在运行 Glassfish
即使我可以从 …
我们正在使用 HAProxy v1.3 在 Amazon EC2 中的一堆 Windows VM 之间进行负载平衡,并且在实例稳定性方面存在一些问题。我们有自己的监控,所以我们知道实例何时开始丢弃请求或开始表现得更糟,但问题之一是它可能会偶尔开始工作一小段时间,所以 HAProxy 认为它已经启动,开始向它提供请求,但最终却让它们关闭/超时,这正成为一个大问题。
当它这样做时,实例在两个状态之间摆动的时间不到两分钟,所以我想知道是否有任何方法可以将 HAProxy 配置为仅添加服务器,如果它们已经持续运行了一段时间(比如说,5 分钟)。