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