Назад | Перейти на главную страницу

Сделайте так, чтобы Haproxy переводил с внешнего интерфейса на корень серверного интерфейса

Я хочу получить доступ к своему экземпляру nextcloud из Интернета. Он доступен в моей сети через cloud.daninet.local, и я хочу получить к нему доступ извне через mydomain.com/cloud. Это конфигурация, которую я придумал до сих пор:

frontend hass
    bind                    MY_EXTERNAL_IP
    mode                    http
    log                     global
    option                  httplog
    option                  http-keep-alive
    option                  forwardfor
    acl https ssl_fc
    http-request set-header         X-Forwarded-Proto http if !https
    http-request set-header         X-Forwarded-Proto https if https
    timeout client          30000
    acl                     cloud   var(txn.txnpath) -m beg -i /cloud
    acl                     hass    var(txn.txnpath) -m beg -i /cloud
    acl                     aclcrt_hass     var(txn.txnhost) -m reg -i ^MY_DOMAIN(:([0-9]){1,5})?$
    http-request set-var(txn.txnpath) path
    http-request set-var(txn.txnhost) hdr(host)
    use_backend hass_ipvANY  if  !hass aclcrt_hass
    use_backend nextcloud_ipvANY  if  cloud aclcrt_hass

backend nextcloud_ipvANY
    mode                    http
    id                      102
    log                     global
    timeout connect         30000
    timeout server          30000
    retries                 3
    acl                     all     var(txn.txnhost) -m str -i asdfaefawdfasf
    http-request set-var(txn.txnhost) hdr(host)
     reqrep ^([^\ ]*\ /)cloud[/]?(.*)     \1\2
    server                  cloud.daninet.local 192.168.1.7:443 id 101 ssl check inter 1000  ca-file /var/etc/haproxy/ca_5d29b4f7c9c1f.pem crt /var/etc/haproxy/server_clientcert_5de3a4922aebc.pem

Теперь, когда я открываю mydomain.com/cloud, я попадаю на mydomain.com/login вместо mydomain.com/cloud/login. Я также пытался запустить nextcloud на cloud.daninet.local / cloud, но, видимо, в версии докера есть какая-то ошибка, так что это не вариант ..

Может ли кто-нибудь помочь мне здесь?