Не могу SSH войти в GitLab, когда он доступен через HAProxy
У меня есть экземпляр GitLab в docker-compose на виртуальной машине в моей домашней сети.
Он работает за прокси HAProxy и доступен на git.example.com:443,
Чтобы иметь доступ к ним как внутри моей домашней сети, так и за ее пределами, я должен иметь точку DNS git.example.com на адрес HAProxy.
Из-за этого, когда я пытаюсь SSH git.example.com, он пытается SSH в прокси-сервер вместо этого.
Поэтому я пытаюсь переслать его так, чтобы, если кто-то пытается подключиться к SSH, ssh.git.example.com:22 (или порт 443), он будет перенаправлен на media.lan.example.com:4002, потому что порт 4000/4001/4002 порт использует докер для контейнера для портов 80/443/22 соответственно.
Как мне этого добиться? Чтобы иметь возможность SSH на порт 22 или же 443 в ssh.git.example.com без необходимости изменения клиентом конфигурации.
Мой конфиг HAProxy:
frontend http
bind example.com:80
reqadd X-Forwarded-Proto:\ http
mode http
use_backend gitlab-backend if { hdr(host) -i git.example.com }
frontend https
bind example.com:443 ssl crt /certs/cert.pem
mode http
use_backend gitlab-backend if { hdr(host) -i git.example.com }
backend gitlab-backend
redirect scheme https if !{ ssl_fc }
server gitlab1 media.lan.example.com:4001 ssl check verify none
mode http
backend gitlab-ssh-backend
redirect scheme https if !{ ssl_fc }
mode tcp
server gitlabssh1 media.lan.example.com:4002 check
frontend gitlab-ssh-frontend
bind ssh.git.example.com:443 ssl crt /certs/cert.pem
use_backend gitlab-ssh-backend
mode tcp