Com o Apache, é uma questão simples:
ProxyPass / https://example.com/
ProxyPassReverse / https://example.com/
ProxyPreserveHost off # it's the default anyway
O truque é substituir o Host
header, para que o backend example.com receba Host: example.com
como esperado. É um comportamento padrão do Apache. Por exemplo, haproxy não faz isso, deixa Host: bad.com
por padrão.