diff options
author | Gina Häußge <gina@octoprint.org> | 2021-06-29 16:42:17 +0300 |
---|---|---|
committer | Gina Häußge <gina@octoprint.org> | 2021-06-29 16:42:17 +0300 |
commit | 8c9bd970e93064bfe49aae1e9fa72c112d4738ae (patch) | |
tree | a80f873b1a3c60a00fe95d006edee74f8188a33b | |
parent | 3595898c11c6bd8a017202434ba5c9651e37dea2 (diff) |
🐛 Add haproxy.cfg for 2.x versions
Build will check which one is installed and only enable the correct
one.
See also #711
-rw-r--r-- | src/modules/octopi/filesystem/root/etc/haproxy/haproxy.1.x.cfg (renamed from src/modules/octopi/filesystem/root/etc/haproxy/haproxy.cfg) | 0 | ||||
-rw-r--r-- | src/modules/octopi/filesystem/root/etc/haproxy/haproxy.2.x.cfg | 49 | ||||
-rwxr-xr-x | src/modules/octopi/start_chroot_script | 9 |
3 files changed, 58 insertions, 0 deletions
diff --git a/src/modules/octopi/filesystem/root/etc/haproxy/haproxy.cfg b/src/modules/octopi/filesystem/root/etc/haproxy/haproxy.1.x.cfg index 443dd00..443dd00 100644 --- a/src/modules/octopi/filesystem/root/etc/haproxy/haproxy.cfg +++ b/src/modules/octopi/filesystem/root/etc/haproxy/haproxy.1.x.cfg diff --git a/src/modules/octopi/filesystem/root/etc/haproxy/haproxy.2.x.cfg b/src/modules/octopi/filesystem/root/etc/haproxy/haproxy.2.x.cfg new file mode 100644 index 0000000..8ef4d16 --- /dev/null +++ b/src/modules/octopi/filesystem/root/etc/haproxy/haproxy.2.x.cfg @@ -0,0 +1,49 @@ +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 15min + timeout server 15min + +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 + 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 diff --git a/src/modules/octopi/start_chroot_script b/src/modules/octopi/start_chroot_script index 38d3f69..1b905a8 100755 --- a/src/modules/octopi/start_chroot_script +++ b/src/modules/octopi/start_chroot_script @@ -227,6 +227,15 @@ fi if [ "$OCTOPI_INCLUDE_HAPROXY" == "yes" ] then systemctl_if_exists enable gencert.service + + haproxy_version=$(dpkg -s haproxy | grep '^Version:' | awk '{print $2}') + if [[ $haproxy_version = 2.* ]]; then + mv /etc/haproxy/haproxy.2.x.cfg /etc/haproxy/haproxy.cfg + rm /etc/haproxy/haproxy.1.x.cfg + else + mv /etc/haproxy/haproxy.1.x.cfg /etc/haproxy/haproxy.cfg + rm /etc/haproxy/haproxy.2.x.cfg + fi else # let's remove the configs for system services we don't need rm /etc/systemd/system/gencert.service |