HAProxy正在ping tomcat并请求一个非常小的页面,导致Tomcat每2秒创建一个新会话.有没有办法以编程方式(或通过配置)告诉Tomcat不为特定页面创建新会话?
当bankend服务器发送500时,有没有办法停止从HAProxy服务器对服务器的进一步请求?
当服务器收到SIGINT之类的信号时,它将开始提供"500 Server Internal Error".因此,当HAProxy从服务器检测到500响应时,是否能够停止对服务器的进一步请求?
在服务器部分中默认启用宏"on-error".尝试这不会产生任何结果.例如:
server nucleus_server1 127.0.0.1:12341 check on-error mark-down
Run Code Online (Sandbox Code Playgroud)
.宏标记下降与此无关.
有任何想法吗?
我们想跟踪请求队列时间,并根据https://docs.newrelic.com/docs/apm/other-features/request-queueing/configuring-request-queue-reporting,我们需要添加X-Request-Start或X-Queue-Start使用时间戳,以毫秒为单位.
我正在研究使用Docker Container进行Haproxy"性能评估"的个人项目.我正在用Python编程并使用iperf进行流量生成.
我创建了几个Docker容器作为客户端和服务器.客户端应该通过Haproxy容器将udp流量发送到服务器,Haproxy容器充当负载均衡器.
问题是当我尝试将udp流量从客户端发送到服务器时,Haproxy拒绝连接.我没有在官方文档中找到如何绑定或监听UDP端口.
提前感谢您的回复.
这是我的haproxy.cfg的副本.
global
quiet
nbproc 4
daemon
listen tcp_haproxy 172.17.4.230:5001
balance roundrobin
server server0 172.17.4.227:5001
server server1 172.17.4.228:5001
server server2 172.17.4.229:5001
我使用以下配置从本地127.0.0.1:2000代理访问Internet。
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
#chroot /usr/share/haproxy
user haproxy
group haproxy
daemon
#debug
#quiet
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen appname 0.0.0.0:2000
mode http
stats enable
acl white_list src 127.0.0.1
tcp-request content accept if white_list
tcp-request content reject
stats uri /haproxy?stats
stats realm Strictly\ Private
stats auth special_admin:special_username
balance roundrobin
option httpclose
option forwardfor …Run Code Online (Sandbox Code Playgroud) 这是我的haproxy.cfg文件
global
daemon
maxconn 256
defaults
mode tcp
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend ft_ssltests
mode tcp
bind *:443 ssl crt /etc/haproxy/sslkeys/host.crt ca-file /etc/haproxy/sslkeys/host.pem
default_backend webmail
backend webmail
balance roundrobin
server server1 10.198.2.76:50000 maxconn 32 check
server server2 10.198.2.76:60000 maxconn 32 check
Run Code Online (Sandbox Code Playgroud)
重新启动上面的配置文件后,我收到错误,如下所示
service haproxy restart
[ALERT] 023/230240 (4375) : parsing [/etc/haproxy/haproxy.cfg:14] : 'bind *:443' unknown keyword 'ssl'. Registered keywords :
[ TCP] defer-accept
[ TCP] interface <arg>
[ TCP] mss <arg>
[ TCP] transparent
[ …Run Code Online (Sandbox Code Playgroud) 考虑以下HAProxy配置:
frontend front
default_backend default
backend default
balance roundrobin
http-response set-header X-RGN us-east-1
server app-1a app.us-east-1a.example.com:443 ssl verify none check
server app-1c app.us-east-1c.example.com:443 ssl verify none check
server app-1b app.us-east-1b.example.com:443 ssl verify none check
Run Code Online (Sandbox Code Playgroud)
我想返回一个响应头,表示所选的服务器.例如,如果前端收到请求,它将平衡roundrobin并将请求转发到后端服务器,当它响应时,我想在浏览器中看到使用了哪个服务器.
配置可能如下所示:
frontend front
default_backend default
backend default
balance roundrobin
http-response set-header X-RGN us-east-1
server app-1a app.us-east-1a.example.com:443 ssl verify none check
server app-1c app.us-east-1c.example.com:443 ssl verify none check
server app-1b app.us-east-1b.example.com:443 ssl verify none check
http-response set-header X-Server app-1a if server -i app-1a
http-response set-header X-Server …Run Code Online (Sandbox Code Playgroud) 我试图从文件中将白名单IP加载到Haproxy acl
我能够通过添加内联到haproxy配置文件将IP列入白名单,并且它运行良好
我想知道是否有任何方法可以指定文件的IP地址并从haproxy配置中读取它
这是我的Haproxy conf
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
contimeout 5000
clitimeout 50000
srvtimeout 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
frontend http-in
bind *:80
mode http
reqadd X-Forwarded-Proto:\ http
acl whitelist src 192.168.12.32 192.168.0.1
acl all src 0.0.0.0
acl demo hdr_end(host) -i 192.168.20.26 …Run Code Online (Sandbox Code Playgroud) 我的问题是我有一个docker-compose.yml文件和一个haproxy.cfg文件,我想让docker-compose将haproxy.cfg文件复制到docker容器中。根据Docker composer发布后的复制文件,我可以使用卷来执行此操作,但就我而言,出现以下错误。谁能帮助我实现这一目标。
以下是代码和所有内容
docker-compose.yml
version: "3.3"
services:
###After all services are up, we are initializing the gateway
gateway:
container_name: gateway-haproxy
image: haproxy
volumes:
- .:/usr/local/etc/haproxy
ports:
- 80:80
network_mode: "host"
Run Code Online (Sandbox Code Playgroud)
资料夹结构
命令输出
root@ubuntu:/home/karunesh/Desktop/Stuff/SelfStudy/DevOps/docker# docker-compose up
Creating gateway-haproxy ...
Creating gateway-haproxy ... done
Attaching to gateway-haproxy
gateway-haproxy | <7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds
gateway-haproxy | [ALERT] 219/163305 (6) : [/usr/local/sbin/haproxy.main()] No enabled listener found (check for 'bind' directives) …Run Code Online (Sandbox Code Playgroud) 我们正在使用rancher docker编排工具:它正在使用HAProxy启用负载平衡。我想知道如果建立与服务的新HTTPS连接,如何处理hanshake。
是在客户端与负载均衡器(牧场主/ HAProxy)之间完成握手,还是负载均衡器仅将HTTPS请求转发到后端服务?