Taky jsem nad tím delší dobu bádal, nakonec to není až tak složité. Já mám malý server, na něm běží Apache a nginx jako reverzní proxy, dál dva virtuální servery (KVM), každý má svou lokální IP.
Dále mám veřejnou IP a zakoupenou doménu "něco.cz". K doméně můžeš zadarmo udělat subdomény, např.: sub1.neco.cz, sub2.neco.cz.
Doporučuji u druhého(hých) serverů změnit porty u služeb, které používáš shodně v síti, např. první apache má standardně port 80 (443 pro SSL), na druhém vybereš např. 8080 (8443) atd. (pro SSH, FTP ...). Ale vzhledem k různým IP adresám serverů by to asi nebylo nutné, to nevím, až tak tomu nerozumím.
V konfiguraci nginx /etc/nginx/...
vytvoříš soubory v adresáři "sites-available" s názvem podle subdomény, např. sub1.neco.cz.conf. Dělal jsem jako přejmenovanou kopii původního "default.conf". V souboru změníš server_name
podle názvu druhého serveru a proxy_pass
zadáš IP adresu a číslo portu druhého serveru. Nakonec uděláš link na tento soubor do adresáře "sites_enabled". Po restartu nginx by jsi měl mít možnost dostat se na oba servery zadáním "neco.cz" nebo "sub1.neco.cz"
Pokud chceš přístup přes SSL (https), což doporučuji, použij certbot https://certbot.com
Provede tě instalací (stačí copy/paste), nastaví nginx (upraví configy), nainstaluje certifikát Let's Encrypt, který je zdarma, ale celosvětově uznávaný a pak ti ho automaticky kontroluje a obnovuje každý měsíc. Tím máš oba servery přístupné pře https://. Certifikát instaluj až když máš oba servery rozjeté a aktivované subdomény, jinak ti vystaví certifikát jen pro hlavní doménu.