Hello !

I am testing HAProxy on my computer and my own "Internet Service Provider" router (FreeBox).

My router is receiving TCP data on port 26000 and transmitting them to local network HAProxy, which is on my computer, is configured to listen data on port 26000 in the "Frontend" section.

Finally, the data should be transmitted to my Application using the port 26001 thanks to the "Backend" section of HAProxy.

Here is a picture which can "help" you to understand.

At the boot, HAProxy say "Starting frontend srv_java: cannot bind socket [192.168.0.19:26000]".

I think I have already solved a similar problem by starting the Application using the port 26001 by creating a service file(java-srv.service). I have a doubt with the using of Requires/Wants but it seems to work.
It was an understandable problem.

But now, I don't see how to solve this new error.
Indeed, the port 26000 doesn't rely to an application to start, but only to my router which is already running. So the port 26000 should be always available.

In addition, when I just use the command "sudo service haproxy restart", HAProxy works very well.

Maybe it's a simple problem, but I don't see solutions for the moment. Have you any idea to solve it ?

If you need more details, doesn't hesitate to ask me.

Thanks a lot for your help,
Sincerely,
Axel DUMAS.

global
        log /dev/log    local0
        log /dev/log    local1 notice
        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

        # Default ciphers to use on SSL-enabled listening sockets.
        # For more information, see ciphers(1SSL). This list is from:
        #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
        # An alternative list with additional directives can be obtained from
        #  
https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
        ssl-default-bind-ciphers 
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
        ssl-default-bind-options no-sslv3

defaults
        log     global
        #mode   http
        #option httplog
        option  dontlognull
        timeout connect 5s
        timeout client  30m
        timeout server  30m
        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 srv_java
        bind 192.168.0.19:26000
        mode tcp
        default_backend all_java_srv

backend all_java_srv
        balance roundrobin
        mode tcp
        server srv_1 192.168.0.19:26001
Sep 16 14:35:30 AS-Freedom haproxy[2485]: Connect from 185.99.25.70:62605 to 192.168.0.19:26000 (srv_java/TCP)
Sep 16 17:06:07 AS-Freedom haproxy[2484]: [WARNING] 258/234724 (2484) : Exiting Master process...
Sep 16 17:06:07 AS-Freedom haproxy[2484]: [ALERT] 258/234724 (2484) : Current worker 2485 exited with code 143
Sep 16 17:06:07 AS-Freedom haproxy[2484]: [WARNING] 258/234724 (2484) : All workers exited. Exiting... (143)
Sep 16 17:06:29 AS-Freedom haproxy[822]: [ALERT] 259/170629 (822) : Starting frontend srv_java: cannot bind socket [192.168.0.19:26000]
Sep 16 17:06:29 AS-Freedom haproxy[822]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[822]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[845]: [ALERT] 259/170629 (845) : Starting frontend srv_java: cannot bind socket [192.168.0.19:26000]
Sep 16 17:06:29 AS-Freedom haproxy[845]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[845]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[890]: [ALERT] 259/170629 (890) : Starting frontend srv_java: cannot bind socket [192.168.0.19:26000]
Sep 16 17:06:29 AS-Freedom haproxy[890]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[890]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[931]: [ALERT] 259/170629 (931) : Starting frontend srv_java: cannot bind socket [192.168.0.19:26000]
Sep 16 17:06:29 AS-Freedom haproxy[931]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[931]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[935]: [ALERT] 259/170629 (935) : Starting frontend srv_java: cannot bind socket [192.168.0.19:26000]
Sep 16 17:06:29 AS-Freedom haproxy[935]: Proxy all_java_srv started.
Sep 16 17:06:29 AS-Freedom haproxy[935]: Proxy all_java_srv started.
$ sudo service haproxy status

● haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: 
enabled)
   Active: failed (Result: exit-code) since Wed 2020-09-16 17:06:29 CEST; 5min 
ago
     Docs: man:haproxy(1)
           file:/usr/share/doc/haproxy/configuration.txt.gz
  Process: 934 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS 
(code=exited, status=0/SUCCESS)
  Process: 935 ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE 
$EXTRAOPTS (code=exited, status=1/FAILURE)
 Main PID: 935 (code=exited, status=1/FAILURE)

sept. 16 17:06:29 AS-Freedom systemd[1]: haproxy.service: Service 
RestartSec=100ms expired, scheduling restart.
sept. 16 17:06:29 AS-Freedom systemd[1]: haproxy.service: Scheduled restart 
job, restart counter is at 5.
sept. 16 17:06:29 AS-Freedom systemd[1]: Stopped HAProxy Load Balancer.
sept. 16 17:06:29 AS-Freedom systemd[1]: haproxy.service: Start request 
repeated too quickly.
sept. 16 17:06:29 AS-Freedom systemd[1]: haproxy.service: Failed with result 
'exit-code'.
sept. 16 17:06:29 AS-Freedom systemd[1]: Failed to start HAProxy Load Balancer.

[Unit]
Description=Serveur de réception de données
Before=haproxy.service

[Service]
Type=simple
Restart=always
RestartSec=10
ExecStart=/opt/java/jdk-14.0.1/bin/java -cp MyProgram

[Install]
Requires=haproxy.service
Wants=haproxy.service
WantedBy=multi-user.target

Reply via email to