ludiazv / octocitrico

OctoPrint for other fruits
149 stars 18 forks source link

HAProxy not starting on a BananaPi M2 zero #28

Open AlbertoRevelant opened 2 years ago

AlbertoRevelant commented 2 years ago

Hello, with the latest version of the armbian distribution compiled for the bananapi m2 zero, the file /etc/haproxy/haproxy.cfg when parsed gives some errors due to the fact that certain functions have disabled between haproxy v2.0 and v2.1. I have solved by downloading a hf_arm debian package of haproxy version 1.8, removed the latest version coming with the release and installed the older one. With the older package the haproxy config file works properly and it is possible to access octoprint from another machine using the IP address or the host name of the bananapi.

Regards Alberto Revelant

dzikk commented 2 years ago

Hello the same for orange pi pc

pauluchin commented 2 years ago

Same problem for orange pi lite

dzikk commented 2 years ago

Could you please tell me step by step with commands how I can proceed with replace haproxy to 1.8?

RicardoLastKiller commented 1 year ago

don't need to downgrade, just update your configuration:

/etc/haproxy/haproxy.cfg

global
        maxconn 4096
        user haproxy
        group haproxy
        log /dev/log local1 debug
        tune.ssl.default-dh-param 2048

defaults
        log     global
        mode    http
        compression algo gzip
        option  httplog
        option  dontlognull
        retries 3
        option redispatch
        option http-server-close
        option forwardfor
        maxconn 2000
        timeout connect 5s
        timeout client  15m
        timeout server  15m

frontend public
        bind :::80 v4v6
        bind :::443 v4v6 ssl crt /etc/ssl/snakeoil.pem
        option forwardfor except 127.0.0.1
        use_backend webcam if { path_beg /webcam/ }
        use_backend webcam_hls if { path_beg /hls/ }
        use_backend webcam_hls if { path_beg /jpeg/ }
        default_backend octoprint

backend octoprint
        acl needs_scheme req.hdr_cnt(X-Scheme) eq 0
        http-request replace-path ^([^\ :]*)\ /(.*) \1\ /\2
        http-request add-header X-Scheme https if needs_scheme { ssl_fc }
        http-request add-header X-Scheme http if needs_scheme !{ ssl_fc }
        option forwardfor
        server octoprint1 127.0.0.1:5000
        errorfile 503 /etc/haproxy/errors/503-no-octoprint.http

backend webcam
        http-request replace-path ^([^\ :]*)\ /webcam/(.*)     \1\ /\2
        server webcam1  127.0.0.1:8080
        errorfile 503 /etc/haproxy/errors/503-no-webcam.http

backend webcam_hls
        server webcam_hls_1 127.0.0.1:28126
        errorfile 503 /etc/haproxy/errors/503-no-webcam-hls.http
AlbertoRevelant commented 1 year ago

I can confirm that the config file from Ricardo is working with the latest version of the haproxy package.

Thank you very much.

BR Alberto

ludiazv commented 1 year ago

Fixed in the new release