haproxy.conf frontend / подкаталог для бэкенда на другом хосте - PullRequest
0 голосов
/ 15 октября 2019

У меня есть довольно простая настройка цифрового океанского контейнера для ведения личного блога (jcress.org)

Я бы хотел, чтобы jcress.org/drobot/ пересылал на мой сервер octoprint, размещенный намалиновый пи в моем подвале. haproxy будет обрабатывать http auth для запросов, исходящих за пределы локальной сети.

nginix обслуживает порт, который я перенаправляю с raspberry pi с помощью ssh -R, все, что кажется работающим.

Когда запросприземляется на Raspberry Pi Я вижу этот рендер на странице входа в систему;заполнение формы и вход в систему не работает, и я не вижу никакой активности в /var/log/haproxy.log enter image description here

Из локальной сети я получаю:enter image description here

Вот haproxy.conf

 defaults
        log     global
        mode    http
        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
        log /dev/log local0 debug
        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 octoprint_lan if { hdr_beg(host) -i 10.0 }
        default_backend octoprint

backend octoprint_lan
        reqrep ^([^\ :]*)\ /(.*) \1\ /\2
        option forwardfor
        server octoprint1 127.0.0.1:5000
        errorfile 503 /etc/haproxy/errors/503-no-octoprint.http

backend octoprint
        http-request set-header Host octopi-drobot.local
        reqrep ^([^\ :]*)\ /drobot/?(.*)     \1\ /\2
        option forwardfor
        server octoprint1 127.0.0.1:5000
        errorfile 503 /etc/haproxy/errors/503-no-octoprint.http
        acl ValidOctoPrintUser http_auth(OctoPrintUsers)
        http-request auth realm OctoPrint if !ValidOctoPrintUser

userlist OctoPrintUsers
        user USAR insecure-password PASSWARD

вот что отображается в журнале haproxy:

Oct 15 17:10:43 octopi-drobot haproxy[3777]: ::1:57030 [15/Oct/2019:17:10:42.938] public octoprint/octoprint1 0/0/92/45/137 200 3074 - - ---- 9/9/1/1/0 0/0 "GET / HTTP/1.0"

1 Ответ

0 голосов
/ 15 октября 2019

Похоже, он не загружает ваш CSS, когда вы не в локальной сети. Вам нужно добавить редирект для файлов CSS / JavaScript. Попробуйте взглянуть на исходный HTML-код входа в OctoPrint и добавьте необходимые перенаправления.

...