我有以下场景:
我有两个域,假设域D1和域D2
我拥有的机器:
用于负载均衡器(HA 代理)的机器M1LB
机器D1M1 & D1M2,即应用 1
机器D2M1 & D2M2,即应用 2
域 D1 的流量应在具有负载均衡器M1LB的D1M1和D1M2计算机上进行,同样,域 D2 的流量应在D2M1和D2M2计算机上进行。
现在,仅在一台机器的帮助下配置负载均衡器的最佳方法是什么?
我想配置 haproxy 通过返回以下内容来处理 CORS:
<Header name="Access-Control-Allow-Origin">*</Header>
<Header name="Access-Control-Allow-Headers">Origin, X-Requested-With, Content-Type, Accept, Authorization, JSNLog-RequestId, activityId, applicationId, applicationUserId, channelId, senderId, sessionId</Header>
<Header name="Access-Control-Max-Age">3628800</Header>
<Header name="Access-Control-Allow-Methods">GET, DELETE, OPTIONS, POST, PUT</Header>
Run Code Online (Sandbox Code Playgroud)
但是,我得到的是“请求的资源上不存在‘Access-Control-Allow-Origin’标头”。注意我使用的是 haproxy 1.7.9 并且无法使用 lua 编译。
我已经查看了https://www.haproxy.com/blog/enabling-cors-in-haproxy/但无法用 lua 重新编译。
global
log 127.0.0.1 local0
log-send-hostname
chroot /etc/haproxy
pidfile /var/run/haproxy.pid
maxconn 40000
user haproxy
group haproxy
daemon
nbproc 2
tune.ssl.cachesize 100000
tune.ssl.default-dh-param 2048
defaults
log global
log-format %ci:%cp\ [%t]\ %ft\ %b/%s\ %Tq/%Tw/%Tc/%Tr/%Tt\ %ST\ %B\ %U\ %CC\ \ %CS\ …Run Code Online (Sandbox Code Playgroud) 我继承了一台运行 1.8 版本的 haproxy 服务器。升级到2.1版本。Haproxy 不会重新启动。在日志中发现问题出在配置文件中的这一行:
rsprep ^Set-Cookie:\ (.*) Set-Cookie:\ \1;\ Secure
Run Code Online (Sandbox Code Playgroud)
错误是
自 HAProxy 2.1 起不再支持“rsprep”指令。使用“http-response Replace-header”代替
删除rsprep并成功。但我现在很好奇它可能会产生什么影响。如何使用 替换上述配置http-response replace-header?
我目前正在使用节点spdy来提供文件.这很好用.
但是,我想使用HAproxy在这些节点服务器之间进行负载平衡.但是当我的节点/ spdy服务器落后于HAproxy时,request.isSpdy是false......所以spdy突然不被支持了?
这是我的HAproxy配置:global maxconn 4096
defaults
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http_proxy
mode http
bind *:80
redirect prefix https://awesome.com code 301
frontend https_proxy
mode tcp
bind *:443
default_backend webservers
backend webservers
balance source
server server1 127.0.0.1:10443 maxconn 4096
# server server2 127.0.0.1:10444 maxconn 4096
Run Code Online (Sandbox Code Playgroud)
谢谢!
你好StackOverflow,
我的haproxy似乎有一个错误,这是我尝试运行它时得到的
[ALERT] 208/051346 (5865) : Starting proxy ah1: cannot bind socket
[ALERT] 208/051346 (5865) : Starting proxy ah2: cannot bind socket
Run Code Online (Sandbox Code Playgroud)
我正在为TCP代理运行它.
这是我的配置:
#---------------------------------------------------------------------
# Example configuration for a possible web application. See the
# full configuration options online.
#
# http://haproxy.1wt.eu/download/1.3/doc/configuration.txt
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if …Run Code Online (Sandbox Code Playgroud) 我已经安装了HAPRoxy 1.5-dev19,并且我正在尝试使用SSL进行绑定.
我在/ etc/ssl/certs密钥中生成了openssl证书并验证它们在那里并且看起来很好,并更新了haproxy.cfg,如下所示:
openssl req -nodes -x509 -newkey rsa:2048 -keyout /etc/ssl/certs/private.key -out /etc/ssl/certs/cert.pem -days 2000
前端XRE绑定*:9045 ssl crt /etc/ssl/certs/private.key
但我仍然得到:
解析[/etc/haproxy/haproxy.cfg:48]:'bind:443':无法从PEM文件'/etc/ssl/certs/private.key'加载SSL证书.
代理'haproxyLoopback':在[/etc/haproxy/haproxy.cfg:48]没有为bind':443'指定SSL证书(使用'crt').
感谢您的帮助,非常感谢,查理
请耐心等待,因为我本质上不是编码员.
这是我尝试使用HAproxy实现的,但经过数小时的检查后,我无法以某种方式使其工作.
从
至
我尝试了多种方法,但无济于事,我确实读过有关重写/重定向但不知何故,这让我很困惑.例如"reqrep"
通过使用alpha.domain.com指向backend1/path按预期工作,但由于证书限制,我需要内联路径.
提前谢谢你,如果可能的话,解释abit它是如何工作的,并说明正确的术语(例如:重写,重定向),以便我可以对此有所了解,并且我将从那里开始.
我正在尝试将事件归因于流量日志中的源.对于任何半精明的技术营销人员或网站管理员而言,这似乎是相当基本的领域,但我已经用Google搜索了一下,而且令人惊讶的是,似乎没有人覆盖这一点.
背景:我使用T-SQL,我们正在SQL Server上运行2016年我的事件日志(HAProxy的)是这个样子,哪里RefererHost是'%mysite%'内部推荐,但也可以是其他任何外部推荐(入口).
User Agent || IP || RefererHost || Event || CreationDate
------------------------------------------------------------------------------
qwertyuiop || 99.99.99.9 || google.com || Home/View || 2015-05-29 00:00:25
------------------------------------------------------------------------------
qwertyuiop || 99.99.99.9 || mysite/x || Home/View || 2015-05-29 00:00:27
------------------------------------------------------------------------------
abcdefghij || 11.11.11.1 || yahoo.com || Home/View || 2015-05-29 00:00:49
------------------------------------------------------------------------------
qwertyuiop || 99.99.99.9 || mysite/y || Submit || 2015-05-29 00:01:28
------------------------------------------------------------------------------
abcdefghij || 11.11.11.1 || mysite/p || Photo/View || 2015-05-29 00:02:04
------------------------------------------------------------------------------
abcdefghij || 11.11.11.1 || mysite/n || …Run Code Online (Sandbox Code Playgroud) 如何向受NTLM保护的网站(如TeamFoundation和SharePoint)代理请求?我一直收到401身份验证错误.
我有一个haproxy集群,其中包含两个用于http和https的前端以及许多使用domain2backend映射选择的后端.
某些后端只能通过HTTPS访问.
我尝试redirect scheme https code 301 if !{ ssl_fc }在后端使用,但haproxy似乎忽略了它.我甚至只是尝试重定向(没有任何条件),但haproxy忽略了后端部分的重定向.
配置摘录:
global
maxconn 1024
debug
log localhost local0 debug
tune.ssl.default-dh-param 2048
defaults
balance roundrobin
maxconn 32
log global
monitor-uri /haproxy_test
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:8080
mode http
option httplog
option forwardfor
use_backend %[req.hdr(host),lower,map_dom(./etc/domain2backend.map)]
frontend https-in
bind *:4443 ssl crt ./etc/ssl
mode http
option httplog
option forwardfor
http-request add-header X-Proto https if { ssl_fc }
use_backend %[req.hdr(host),lower,map_dom(./etc/domain2backend.map)]
backend app1_www
redirect …Run Code Online (Sandbox Code Playgroud)