在过去的几年里,我的小型企业运行了一个电子邮件服务器,没有出现任何问题。
现在我的公司已经发展壮大,我想添加一些冗余,并添加了一个故障转移电子邮件服务器,前面有一个负载均衡器(haproxy)。
一切都很顺利,直到 1 周前我们成为垃圾邮件发送者的受害者,我不得不关闭所有功能。经常使用谷歌,我发现没有正确配置的负载均衡器会将我的后缀转换为开放中继。
我想解决这个问题,也找到了很多文档,但坦率地说,现在我有点迷失了。我知道我必须在 haproxy.cfg 中添加 send-proxy 以及其他更改,但我只是不知道如何添加 postscreen 以便再次强化 postfix。
谁能指导我,或者至少给我一些我没有找到的手册或教程的链接,以说明如何实现这一点?
我承认我在 postfix 官方文档中迷失了方向。
提前谢谢了
我的 haproxy 负载均衡器当前使用单个配置文件 /etc/haproxy/haproxy.cfg 运行:
ExecStart=/usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid $OPTIONS
我想将 haproxy.cfg 拆分为几个内容较少的文件,因为一些前端和后端定义可以使用 Ansible 和模板生成。我可以简单地将-f参数修改为吗/etc/haproxy/*.cfg?或者我应该将其指向一个专用目录,例如/etc/haproxy/conf.d?
还有一个额外问题。鉴于上述情况是可能的,并且我最终得到了许多具有不同前端和后端节的 cfg 文件,我是否仍然应该在每个 cfg 文件中包含全局和默认节?
我正在尝试连接 stunnel 和 haproxy 以将 https 连接转发到某些后端服务器。
我已经正确设置了 haproxy,而且我似乎正确设置了 stunnel。问题是,当我在一段时间后通过负载测试进行设置时,我开始看到这些日志条目(在开始出现连接被拒绝错误之前,我已经包含了来自正确连接的最后几个条目):
2010.05.05 11:23:29 LOG7[3498:3086792368]: https accepted FD=510 from 10.195.158.225:42722
2010.05.05 11:23:29 LOG7[3498:3035233168]: https started
2010.05.05 11:23:29 LOG7[3498:3035233168]: FD 510 in non-blocking mode
2010.05.05 11:23:29 LOG7[3498:3035233168]: TCP_NODELAY option set on local socket
2010.05.05 11:23:29 LOG7[3498:3035233168]: Waiting for a libwrap process
2010.05.05 11:23:29 LOG7[3498:3086792368]: https accepted FD=511 from 10.195.158.225:42723
2010.05.05 11:23:29 LOG7[3498:3035167632]: https started
2010.05.05 11:23:29 LOG7[3498:3035167632]: FD 511 in non-blocking mode
2010.05.05 11:23:29 LOG7[3498:3035167632]: TCP_NODELAY option set on local socket
2010.05.05 11:23:29 …Run Code Online (Sandbox Code Playgroud) HAProxy 能否在向 Web 服务器传递请求时将 URI 从“domain.com/cool/url”重写为“domain.com/index.php/cool/url”?
谢谢。
我们目前在循环模式下使用 haproxy 在我们的一些应用程序服务器上分配负载。基本配置如下:
listen dev 0.0.0.0:15984
balance roundrobin
server dev1 dev1:5984 check
server dev2 dev2:5984 check
server dev3 dev3:5984 check
Run Code Online (Sandbox Code Playgroud)
我正在执行一些性能测试并想知道,haproxy 是在此配置中缓存某些内容还是只是重定向请求?
我有三个与同一主题相关的小问题:
leastconn我会寻找最低负载而不是寻找最少的连接(算法)。我正在设置 HAProxy 以在两个 Web 服务器之间进行负载平衡。网站上的某些页面需要 SSL。Stunnel 正在处理 https 连接并将它们传递给 haproxy(Stunnel 包含证书)。HAProxy 将使用 http 将请求传递给 Web 服务器。在内部网络中包含 Web 服务器和 haproxy 是否足以符合 PCI 标准?有什么我需要注意的吗?
我发现随机域已将其 DNS 记录设置为指向我服务器的 IP 地址,这是 4 个 apache 服务器前面的 HAProxy 负载均衡器。如何防止 HAProxy 接受来自该域的请求,而只允许对合法域的请求?
谢谢
我正在考虑将负载均衡器引入我现有的站点基础架构,以帮助增加流量并提供一定程度的故障保护。
我正在运行的站点在登录部分使用 SSL 证书,我需要继续使用此功能。后端服务器需要知道原始 IP 地址,因此我无法使用 TCP 负载平衡功能,并且需要在负载平衡器上终止 SSL,以便我可以插入
X-Forwarded-For
标题。我已经看到了几种实现 SSL 解密功能的方法,一种是使用 stunnel,另一种是使用 Pound。我一直在环顾四周,但是我不确定使用一个而不是另一个的优点/缺点是什么。有没有人有这方面的经验并提供他们的建议?
谢谢
我想在几个经过 http 身份验证的代理之间轮换。但我无法将其插入配置文件,因为 url 结构不同。当我删除用户名并通过(但当然要求用户名和通过)时,它会起作用。有没有办法发送凭据?如果我不添加它们,我会收到 407 代理身份验证错误。
global
daemon
maxconn 500
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend rotatingproxies
bind *:3000
default_backend rotateproxy
option http_proxy
option http-use-proxy-header
backend rotateproxy
option http_proxy
server proxyserver user:pass@domain.com:9999
server proxyserver user:pass@domain.com:9999
balance roundrobin
Run Code Online (Sandbox Code Playgroud)