我一直在尝试让 Web 客户端通过启用了 SELinux 的 Centos7 上的反向代理 (HAProxy) 在推荐端口 (5281) 上使用 EJabberd。我不熟悉 SELinux 上下文规则。
基本问题似乎是 HAProxy 无法打开端口 5281。我安装了该ejabberd-selinux
软件包,认为这对代理系统和运行 EJabber 的系统都有帮助。ejabberd-selinux 似乎配置了除 5281 之外的标准端口,我随后尝试自己配置 5281。
答案1
您不能让两个程序监听同一个端口。要么应该是ejabberd
,要么应该是haproxy
。通常,您会haproxy
在前面放置ejabberd
,因此,如果您希望客户端连接到端口 5281,那么这就是haproxy
需要监听的端口。然后,ejabberd
在某个任意端口上,您可以将该端口号放在backend
的部分中haproxy.cfg
。
答案2
- 您可以检查 ejabberd 是否仅在 localhost 接口或所有接口上监听端口 5281。
- CentOS 7 自带了firewalld作为默认防火墙管理工具,你可以使用这项服务来允许/打开特定端口到你的服务器