标签: haproxy

Apache HTTPD 的remoteip 不工作

我已经配置了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。

根据关于这个主题的每个教程,此时应该可以正常工作。

haproxy x-forwarded-for apache-2.4

3
推荐指数
1
解决办法
3496
查看次数

通过 HAProxy 负载均衡进行 SFTP 配置

我有 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)

load-balancing sftp haproxy

3
推荐指数
1
解决办法
1万
查看次数

如何保护 HAProxy TCP 统计套接字的安全?需要远程操作

我想在部署应用程序期间远程控制我的 HAproxy。例如,在停止“app-server1”上的应用程序之前,我想指示 HA 代理禁用后端服务器“app-server1”。当应用程序再次运行时,我想发出启用命令。

通过“stats socket ...”,我创建了一个 UNIX 套接字或一个 TCP 套接字。对于远程访问,它必须是 TCP 套接字。然而,这显然会带来一个我想要缓解的漏洞。

我可以通过客户端 IP 列表、SSL 或其他方式限制对管理套接字的访问吗?

由于我在搜索时找到的有关该主题的信息量有限,我想知道是否还有另一种适合我的用例的推荐远程操作方式?

我确实使用脚本来实现此目的,但不允许脚本通过 SSH 访问运行 HA-proxy 的服务器,这不是一个选项。

haproxy

3
推荐指数
1
解决办法
3149
查看次数

重新加载 haproxy 时保留后端服务器状态

因为我有大量每天都在变化的 https 证书(具有许多域的大型多租户应用程序),所以我有一个脚本,可以在几乎随机的时间重新加载 haproxy。这工作正常。

当我向后端服务器部署新版本的应用程序时,我还将后端服务器设置为 MAINT。这也很好用。

麻烦的是,如果重新加载发生,我设置为 MAINT 状态的任何服务器都会重新加载为 READY。这让客户可以看到等待甚至错误消息。

有没有办法在重新加载 haproxy 时保留后端服务器的当前状态?

haproxy

3
推荐指数
1
解决办法
4366
查看次数

是否反向代理交换

目前我运行 Forefront TMG 将 Exchange 2010 反向代理到外部世界。

我现在正在准备 Exchange 2016 环境,随着 Forefront TMG 过时,我想要一个没有它的解决方案。我现在有 pfSense 和 HAProxy 作为第一道防线和负载平衡。

我的问题是:您应该在负载均衡器和 Exchange 之间添加反向代理吗?这有什么好处?这一切都运行在相同的管理程序和存储基础设施之下。

我知道 HAPrxoy 1.8 现在具有内存中缓存小对象的能力,这可能会加速 Web 服务。但另一方面,只有 OWA 和 ECP 有一些静态内容。

有任何想法吗?

你好,

罗纳德

exchange haproxy tmg microsoft

3
推荐指数
1
解决办法
1929
查看次数

HAProxy 在 302 重定向前添加一些标头

我正在尝试向定向到特定端口的响应添加一些安全标头。我有以下配置的前端:

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)

redirect http-headers haproxy

3
推荐指数
1
解决办法
3160
查看次数

为什么正确的基于 HAProxy SNI 的路由需要“tcp-request content Accept”前端指令?

我最近尝试在 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)

haproxy sni

3
推荐指数
1
解决办法
1582
查看次数

HAProxy 配置和修改

任何人都可以指导我使用 HA 代理,因为我是它的新手。

  1. 这个怎么运作?
  2. 我该如何配置?
  3. 如何修改(添加/删除)已配置的文件?
  4. 修改配置文件后如何启动/重启HA代理?
  5. 即使我不知道如何检查我当前安装的 HA 代理版本?

请指导我。

我已经浏览了下面的 URL, http://haproxy.1wt.eu/download/1.3/doc/configuration.txt 除了上面的 URL,请提供一些额外的东西,这样我就可以开始工作了。

haproxy

2
推荐指数
1
解决办法
3905
查看次数

HAProxy 检查说服务器在启动时已关闭

我正在尝试使用 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

即使我可以从 …

linux glassfish haproxy

2
推荐指数
1
解决办法
1万
查看次数

有没有办法设置 HAProxy 在标记服务器“启动”之前等待一段时间?

我们正在使用 HAProxy v1.3 在 Amazon EC2 中的一堆 Windows VM 之间进行负载平衡,并且在实例稳定性方面存在一些问题。我们有自己的监控,所以我们知道实例何时开始丢弃请求或开始表现得更糟,但问题之一是它可能会偶尔开始工作一小段时间,所以 HAProxy 认为它已经启动,开始向它提供请求,但最终却让它们关闭/超时,这正成为一个大问题。

当它这样做时,实例在两个状态之间摆动的时间不到两分钟,所以我想知道是否有任何方法可以将 HAProxy 配置为仅添加服务器,如果它们已经持续运行了一段时间(比如说,5 分钟)。

load-balancing haproxy

2
推荐指数
1
解决办法
716
查看次数