HAProxy for Exchange 2019 with different internal and external domain names

Hello to everyone. I’m a newbie in proxying anything, please give me some help.

I have 1 Exchange 2019 server.
Internal domain name (inside organisation perimeter) is mail.a.local
External domain name is mail.b.com

I want to set up a reverse proxy for it because i will connect several new external domains to it mail.c.com, mail.d.com etc. I mean i want to redirect external requests to sites mail.b.com, mail.c.com, mail.d.com to just one local server with internal name mail.a.local. Ideally, when i type mail.b.com i want to see mail.a.local Exchange Login Page with only two domain in certificate mail.b.com and autodiscover.b.com. And when i type mail.c.com in browser it should be the same mail.a.local Exchange Login Page but with mail.c.com and autodiscover.c.com domains in certificate.

I setuped ARR ISS with no luck.
I also tried Nginx and almost works except mobile clients.

I think the problem is with different local and external domain names, but i don’t understand how to setup it right.

For now i try HAProxy and i hope it will work.
I have pretty simple config:

        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy

        ca-base /etc/ssl/certs
        crt-base /etc/ssl/private

        ssl-default-bind-options no-sslv3

        log     global
        mode    tcp
        option  dontlognull

frontend fe_exch_443
        default_backend be_exch_443

backend be_exch_443
        server exch LOCALEXCHADDRESS:443 check

It works for one domain only and i dont know hot to setup it for multiple domains.

Thank you in advance.