如标题中所述,我已经设置了具有基本配置的Haproxy负载均衡器,我想做的就是如果主机名与x.domaine.com匹配,则始终将请求重定向到第一台服务器,但保持域名的平衡.com,是否可以使用Haproxy,如果可以,我该怎么做。她是我的配置
listen webcluster *:80
mode http
balance roundrobin
option httpchk HEAD / HTTP/1.0
option forwardfor
cookie LSW_WEB insert
option httpclose
server bigSRV 192.168.1.10:8082 cookie LSW_WEB01 check
server miniSRV 192.168.2.10:8082 cookie LSW_WEB01 check
Run Code Online (Sandbox Code Playgroud)
提前感谢
这应该是一个非常简单的重写规则,但我不能让它工作.我想重写Request如下:
http://acme.org/FOO/BAR
Run Code Online (Sandbox Code Playgroud)
至
http://FOO.acme.org/BAR
Run Code Online (Sandbox Code Playgroud)
FOO在这种情况下是一些简单的字符串,BAR应该与URL的其余部分匹配.似乎reqrep不允许重写主机:(
我认为主题涵盖了它。我需要建立一个在同一域内的许多301重定向的列表,即将/ some_old_place重定向到/ some_new_place。我们有很多内容会根据uri停用或替换。haproxy状态映射的当前主页上的引号可以用于“构建大量重定向表”,但是对于我来说,我可以一眼搞清楚。我正在使用1.5版,这是我当前正在处理的配置行。
redirect location %[map(/opt/local/etc/haproxy/redirect.map), hdr(url)] code 301
Run Code Online (Sandbox Code Playgroud)
鉴于以上配置行,我得到
[ALERT] 099/205518 (27981) : parsing [/opt/local/etc/haproxy/haproxy.cfg:83] : error detected in frontend 'LoadBalancer' while parsing redirect rule : expects 'code', 'prefix', 'location', 'scheme', 'set-cookie', 'clear-cookie', 'drop-query' or 'append-slash' (was 'hdr(url)]').
Run Code Online (Sandbox Code Playgroud)
我已经尝试了许多变体,但没有成功。如果有人知道该怎么做,请告诉我?
我使用 postgresql 作为数据库。我有一个带有流复制的主/从。我想使用 HAProxy 进行负载平衡。我想将写入发送给主站,并将读取发送给从站。我可以用 haproxy 做到这一点吗?
嗨有SSL和haproxy的问题,我已将.crt与私钥连接但如果我检查SSL状态,我的网站不受信任,我需要安装捆绑证书,我试过这样:
bind *:443 ssl crt /etc/ssl/mydomain.com.pem ca-file /etc/ssl/mydomain.com-ca.bundle
Run Code Online (Sandbox Code Playgroud)
但是不要工作.HA代理版本1.5.2
作为测试,我运行了一个本地绑定实例:
>netstat -ant | grep LISTEN
tcp 0 0 10.72.186.23:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
...
>nslookup mysubdomain.example.com 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: mysubdomain.example.com
Address: nn.nn.nn.251
Name: mysubdomain.example.com
Address: nn.nn.nn.249
Name: mysubdomain.example.com
Address: nn.nn.nn.201
Name: mysubdomain.example.com
Address: nn.nn.nn.138
Run Code Online (Sandbox Code Playgroud)
我在同一主机上运行haproxy 1.6.2,带有解析器部分:
resolvers dns
nameserver dns1 127.0.0.1:53
nameserver dns2 10.72.186.23:53
hold valid 10s
Run Code Online (Sandbox Code Playgroud)
它不会拒绝解析器部分,但似乎也没有使用它.它不会显示在统计信息页面中,并尝试添加此服务命令:
server mysubdomain-dev mysubdomain.example.com
Run Code Online (Sandbox Code Playgroud)
导致此错误:
>service haproxy restart
* Restarting haproxy haproxy
[ALERT] 322/171813 (10166) : parsing [/etc/haproxy/haproxy.cfg:77] : 'server mysubdomain-dev' : invalid address: 'mysubdomain.example.com' …Run Code Online (Sandbox Code Playgroud) 您好,提前感谢您的帮助。
我在旧网站上有一个博客,我正在尝试使用 haproxy 将所有帖子重定向到新网站上的新位置 301。例如,我希望 https://www.oldsite.com/john-blog/blogpost1被 301 重定向到https://www.newsite.com/jill-blog/blogpost1。
https://www.oldsite.com/john-blog => https://www.newsite.com/jill-blog
frontend https
option http-server-close
reqadd X-Forwarded-Proto:\ https
acl is_ob path_sub john-blog
redirect location https://www.newsite.com/jill-blog code 301 if is_ob
Run Code Online (Sandbox Code Playgroud)
我已经弄清楚如何转发流量,/john-blog但无法弄清楚如何进行重写,以便/john-blog/blogpost1在旧站点 301s/jill-blog/blogpost1上到新站点。
我从我的CA获得了一些证书,如下所示
1. something.csr
2. something.zip --> contains 2 .cert files.
Run Code Online (Sandbox Code Playgroud)
我正在使用HAProxy并希望应用它们.Haproxy已经使用.pem证书,那么我如何转换/组合上面提到的证书来获得一个.pem文件?
亚马逊Linux还没有包含HAProxy 1.6的软件包,这很痛苦.安装它的最佳方法是什么?
如何改进以下配置,以使haproxy侦听端口80和443并将请求传递给backend:80或backend:443(取决于)。
有一个更好的方法吗?
frontend http
bind 35.154.100.100:80
default_backend http_nginx_pool
frontend https
bind 35.154.100.100:443
default_backend https_nginx_pool
backend http_nginx_pool
mode tcp
server nginx2 10.233.32.143:80 check
backend https_nginx_pool
mode tcp
server nginx2 10.233.32.143:443 check
Run Code Online (Sandbox Code Playgroud) haproxy ×10
amazon-ec2 ×1
certificate ×1
file-io ×1
filtering ×1
hostname ×1
linux ×1
nginx ×1
postgresql ×1
redirect ×1
rewrite ×1
split ×1