Simple backend configuration always returns 404

I’m trying to put 10.43.231.254:80 behind haproxy2.2 but for some reason, haproxy always returns a 404 not found when I attempt to site

I tried copying the example from Configuration | Configuration Section Basics | Frontend | HAProxy Enterprise 2.2r1 and applying to my setup, but i’m not having much luck

proof that the host that is running haproxy is able to reach 10.43.231.254:80

/etc/haproxy$ curl 10.43.231.254:80 | head
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0<!DOCTYPE html>
<html lang="en-US">
<head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name='robots' content='max-image-preview:large' />
<title>User&#039;s Blog! &#8211; Just another WordPress site</title>
<link rel='dns-prefetch' href='//s.w.org' />
<link rel="alternate" type="application/rss+xml" title="User&#039;s Blog! &raquo; Feed" href="http://10.43.231.254/feed/" />
<link rel="alternate" type="application/rss+xml" title="User&#039;s Blog! &raquo; Comments Feed" href="http://10.43.231.254/comments/feed/" />
100 30871    0 30871    0     0   502k      0 --:--:-- --:--:-- --:--:--  502k

I confirm that the service is able to start:

:/etc/haproxy$ sudo /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
Proxy http started.
Proxy web_servers started.
[NOTICE] 287/191035 (33578) : New worker #1 (33580) forked

And here is my configuration file

/etc/haproxy$ cat haproxy.cfg
global
        log stdout format raw local0
        log /dev/log    local0
        log /dev/log    local1 notice
        log /dev/log    local0 debug
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
        stats timeout 30s
        user haproxy
        group haproxy
        daemon

        # Default SSL material locations
        ca-base /etc/ssl/certs
        crt-base /etc/ssl/private

        # See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
        ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
        ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
        ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets

defaults
        log     global
        log /dev/log    local0 debug
        mode    http
        option  httplog
        option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http

frontend http
        mode http
        bind *:80

        default_backend web_servers


backend web_servers
        mode http
        server server1 10.43.231.254:80

And here is the 404 error:

/etc/haproxy$ curl localhost
404 page not found

Haproxy never emits 404 Not found.

Either something else is listening port on 80 or your backend service returns that.

Try checking the response headers with curl -vv localhost

Thanks, after switching haproxy to another port, I am getting the expected behaviour