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

Webdav через HAProxy

Я пытаюсь подключиться к серверу WebDAV через HAProxy. Цель состоит в том, чтобы направить весь трафик через один порт 5443. Мой сервер HAProxy привязан к порту 5443 с помощью SSL.

Я пробовал подключиться к WebDAV несколькими способами. Я могу подключиться напрямую локально через https://192.168.1.200:5006 и внешне через https://webdav.domain.com:5006 если я открою порт 5006. Когда я пытаюсь подключиться через HAProxy с https://webdav.domain.com:5443 или http://webdav.domain.com:5080 Я получаю сообщение об ошибке: «При подключении к серверу webdav.domain.com возникла проблема». То же самое происходит, когда я пытаюсь подключиться по локальной сети.

Можно ли смонтировать файловую систему WebDAV через HAProxy?

Ниже я включил свой файл конфигурации HAProxy.

global
    user haproxy
    daemon
    maxconn 256
    log localhost user info
    spread-checks 10
    tune.ssl.default-dh-param 2048

defaults
    mode http
    stats enable
    default-server inter 30s fastinter 5s
    log global
    option httplog
    timeout connect 5s
    timeout client 50s
    timeout server 50s
    timeout tunnel 1h

listen stats :8280
    stats uri /
    stats show-legends
    stats refresh 10s
    stats realm Haproxy\ Statistics
    stats auth admin:admin

frontend http
    bind :5080
    option http-server-close
    option forwardfor
    use_backend webdav_http if { hdr_beg(Host) -i webdav. }
    default_backend web

frontend https
    bind :5443 ssl crt /usr/local/haproxy/var/crt/default.pem ciphers AESGCM+AES128:AES128:AESGCM+AES256:AES256:RSA+RC4+SHA:!RSA+AES:!CAMELLIA:!aECDH:!3DES:!DSS:!PSK:!SRP:!aNULL no-sslv3
    option http-server-close
    option forwardfor
    rspirep ^Location:\ http://(.*)$    Location:\ https://\1
    rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains
    use_backend webdav_https if { hdr_beg(Host) -i webdav. }
    use_backend haproxy if { hdr_beg(Host) -i haproxy. }
    default_backend web

backend web
    server web localhost:80 check

backend webdav_https
    server webdav_https localhost:5006 check

backend webdav_http
    server webdav_http localhost:5005 check

backend haproxy
    server haproxy localhost:8280 check

Соответствующие строки из журнала HAProxy

haproxy[10497]: 192.168.1.1:51676 [11/Sep/2015:18:16:56.659] https~ webdav/<NOSRV> 180/-1/-1/-1/180 503 212 - - SC-- 0/0/0/0/0 0/0 "OPTIONS / HTTP/1.1"