Haproxy: перенаправить root на www, поддерживая поддомены живыми - PullRequest
0 голосов
/ 15 марта 2020

У меня есть следующая конфигурация в haproxy:

frontend https-in
bind *:443 ssl crt /etc/haproxy/cert/example.de.pem
mode http
http-request set-header X-Forwarded-For %[src]
reqadd X-Forwarded-Proto:\ https
option http-server-close

acl has_www hdr_end(host) -i www.example.de
acl is_portainer hdr_end(host) -i portainer.example.de
acl lets_encrypt path_beg /.well-known/acme-challenge/

use_backend apache if has_www
use_backend lets_encrypt if lets_encrypt
use_backend portainer if is_portainer

В этой конфигурации http://example.de приведет к ошибке 503 - Сервис недоступен. Субдомены все еще доступны и указывают на их указанные c контейнеры в docker.

Моя проблема: Если я изменю acl has_ ​​www hdr_end (host) -i www.example.de на acl has_ ​​www hdr_end (host) -i example.de , мои субдомены также перенаправляют на use_backend apache, если has_ ​​www*1017*

Мой вопрос: как сделать Я перенаправляю https://example.de на https://www.example.de и предотвращаю перенаправление поддоменов также на www.example.de? portainer.example.de не должен перенаправляться на бэкэнд is_ apache, но на сервер is_portainer.

Спасибо за вашу помощь!

Дэвид

...