在CentOS 7上使用Haproxy与systemctl进行奇怪的交互

前端之家收集整理的这篇文章主要介绍了在CentOS 7上使用Haproxy与systemctl进行奇怪的交互前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通过systemctl运行haproxy与手动运行它不同.

>在手动启动时,一切正常.
>从systemctl开始,haproxy无法找到它代理的服务,并用503回答.

这是通过systemctl启动时的输出

> sudo systemctl status  -l haproxy.service
haproxy.service - HAProxy Load Balancer
Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled)
                Active: active (running) since Wed 2014-12-24 08:08:49 EST; 4min 59s ago
                Main PID: 20307 (haproxy)
                CGroup: /system.slice/haproxy.service
                └─20307 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid

                Dec 24 08:08:49 localhost.localdomain systemd[1]: Starting HAProxy Load Balancer...
                Dec 24 08:08:49 localhost.localdomain systemd[1]: Started HAProxy Load Balancer.

像这样,haproxy只为我的后端说503.

如果我现在停止haproxy服务,而是在命令行上手动运行它,如下所示:

sudo /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid

它对我的服务器代理很好.

我已经通过yum安装了haproxy,我使用的配置非常简单:

# defaults above

frontend  main *:80
    default_backend app

backend app
    option httpclose
    option forwardfor
    server web1 127.0.0.1:8001

知道差异可能是什么?我已经尝试过运行它守护而不是.

这是使用systemctl运行时的日志:

Proxy app started.
127.0.0.1:44391 [24/Dec/2014:09:01:42.403] main app/web1 0/0/-1/-1/0 503 212 - - SC-- 0/0/0/0/3 0/0 "GET / HTTP/1.1"

这是手动运行时的日志:

Proxy app started.
127.0.0.1:44393 [24/Dec/2014:09:02:11.758] main app/web1 0/0/0/2/2 200 5699 - - ---- 1/1/0/0/0 0/0 "GET / HTTP/1.1"

为了清楚起见,我可以成功地将127.0.0.1:8001作为我的部署用户,使用sudo和haproxy用户.

编辑更多信息

我尝试使用Nginx代替代理,但无济于事.所以这里不是haproxy的错. Nginx502 Bad Gateway,日志说:

2014/12/24 16:57:04 [crit] 23214#0: *1 connect() to 127.0.0.1:8001 Failed (13: Permission denied) while connecting to upstream,client: 192.168.34.1,server: www.zombieclj.local,request: "GET / HTTP/1.1",upstream: "http://127.0.0.1:8001/",host: "www.zombieclj.local"

所以是的,有一些安全问题正在发生.我仍然可以卷曲到127.0.0.1:8001.停止防火墙不会改变任何东西.

问题是SELinux只允许Web服务器与一组有限的端口建立出站连接.

修正了:

semanage port --add --type http_port_t --proto tcp 8001

安装semanage后

yum install policycoreutils-python

Nodejs Nginx error: (13: Permission denied) while connecting to upstream

原文链接:https://www.f2er.com/centos/373814.html

猜你在找的CentOS相关文章