haproxy.conf前端/子目录以在其他主机上后端

时间:2019-10-15 16:45:36

标签: haproxy

我有一个非常基本的数字海洋容器设置来保存个人博客(jcress.org)

我希望jcress.org/drobot/转发到我的octoprint服务器,该服务器托管在我地下室的树莓派上。 haproxy将处理来自局域网以外的请求的http auth。

nginix使用ssh -R为我从树莓派转发的端口提供服务,所有这些似乎都有效。

当请求到达树莓派时,我看到了登录页面的渲染图;填写表格并点击登录不起作用,并且在/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 :(得分:0)

当您不在LAN上时,它似乎没有加载CSS。您需要为CSS / JavaScript文件添加重定向。尝试查看您的OctoPrint登录源HTML,并添加必要的重定向。