HAProxy는 server-http 및 server-https가 다운되었음을 보고합니다. 시작되지 않음

HAProxy는 server-http 및 server-https가 다운되었음을 보고합니다. 시작되지 않음

처음으로 haproxy를 설정하려고 하는데 많은 어려움을 겪고 있습니다. 지금 당장 /etc/init.d 폴더에 있는 haproxy 파일을 호출하여 시작하면 다음과 같은 결과가 나타납니다.

$ ./haproxy start
  Starting haproxy:           [FAILED]

나는 요리사가 haproxy를 설치했음을 확인했습니다.

$ haproxy -v
  HA-Proxy version 1.5.18 2016/05/10
  Copyright 2000-2016 Willy Tarreau <[email protected]>

추가 조사를 위해 다음 명령을 사용했습니다.

$ haproxy -c -f /etc/haproxy/haproxy.cfg
  [WARNING] 023/190620 (24869) : parsing [/etc/haproxy/haproxy.cfg:19] : 'option httplog' not usable with frontend 'https' (needs 'mode http'). Falling back to 'option tcplog'. 
  Configuration file is valid

$ ha proxy -db -f /etc/haproxy/haproxy.cfg
  [WARNING] 023/190810 (25554) : parsing [/etc/haproxy/haproxy.cfg:19] : 'option httplog' not usable with frontend 'https' (needs 'mode http'). Falling back to 'option tcplog'.
  [WARNING] 023/190810 (25554) : Server servers-http/test001.company.org is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
  [ALERT] 023/190810 (25554) : backend 'servers-http' has no server available!
  [WARNING] 023/190811 (25554) : Server servers-https/test001.company.org is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
  [ALERT] 023/190811 (25554) : backend 'servers-https' has no server available!

해당 서버가 haproxy가 배포된 것과 동일한 서버이기 때문에 어떻게 서버를 사용할 수 없는지 잘 모르겠습니다. 로컬 호스트이고 구성 파일에 실제 서버 이름이 있습니다. 해당 파일은 다음과 같습니다.

global
  log 127.0.0.1   local0
  log 127.0.0.1   local1 notice
  #log loghost    local0 info
  maxconn 4096
  #debug
  #quiet
  user root
  group root

defaults
  log     global
  mode    http
  retries 3
  timeout client 50s
  timeout connect 5s
  timeout server 50s
  option dontlognull
  option httplog
  option redispatch
  balance  roundrobin

# Set up application listeners here.

listen admin
  bind 127.0.0.1:22002
  mode http
  stats uri /


frontend http
  maxconn 2000
  bind 0.0.0.0:4000
  default_backend servers-http

frontend https
  mode tcp
  maxconn 2000
  bind 0.0.0.0:4001
  default_backend servers-https


backend servers-http
  server test001.company.com <IP address here>:4002 weight 1 maxconn 100 check

backend servers-https
  mode tcp
  server test001.company.com <IP address here>:4003 weight 1 maxconn 100 check
  option ssl-hello-chk

나는 또한 netstat -nlp각 포트에 어떤 것도 실행되고 있지 않은지 확인하곤 했습니다. 그 밖에 무엇을 확인할 수 있는지 잘 모르겠습니다.

편집하다:

HAProxy가 포트 4000 및 4001에서 시작 및 실행되고 있는지 확인하기 위해 다른 터미널을 열었습니다. 그러나 백엔드 포트는 사용할 수 없습니다. 또한 netstat -nlp | grep 4002및 를 사용하여 이 포트를 사용하는 것이 없음을 확인했습니다 netstat -nlp | grep 4003. 또한 실제 IP 주소 대신 127.0.0.1을 IP 주소로 사용해 보았지만 계속해서 동일한 오류가 발생합니다.

답변1

구성에서 127.0.0.1을 "여기의 IP 주소"로 사용합니다.

4002 및 4003 포트에서 수신 대기하는 것이 필요합니다.

# netstat -nlp | grep 4002
tcp        0      0 0.0.0.0:4002            0.0.0.0:*               LISTEN      1564/python

예를 들어 Python 기본 HTTP 서버를 사용하면 다음과 같습니다.

# python -m SimpleHTTPServer 4002
Serving HTTP on 0.0.0.0 port 4002 ...
127.0.0.1 - - [27/Jan/2020 22:55:34] "GET / HTTP/1.1" 200 -

다음에서 요청을 볼 수 있습니다.

$ wget 127.0.0.1:4000
--2020-01-27 22:55:34--  http://127.0.0.1:4000/
Connecting to 127.0.0.1:4000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 354 [text/html]
Saving to: 'index.html'

index.html 100%[=========================================>]     354  --.-KB/s    in 0s      

2020-01-27 22:55:34 (12.3 MB/s) - 'index.html' saved [354/354]

관련 정보