Subdomény na stejné IP

Šťur

  • **
  • 98
  • Bude pršet.
    • Zobrazit profil
Subdomény na stejné IP
« kdy: 02. 01. 2021, 18:58:39 »
Ahoj. U Active24 mám registrovanou doménu, A záznam směřuje na statickou IP adresu od (ex)UPC. V HD DVR Mediaboxu (který bohužel nepodporuje bridge režim) mám DMZ nastavenou na IP adresu OpenWrt "routeru" (Banana Pi R1). Na něm samotném provozuji několik služeb vystavených do internetu (např. Nginx webserver na portu 80), dalších několik málo je na RPi s Raspbianem (respektive Raspberry Pi OS, jak se to teď jmenuje).Potřeboval bych provozovat některé služby (například další webserver na portu 80, ať už na BPi routeru nebo RPi) na subdoméně (která by logicky vedla na tu samou veřejnou IP), nicméně naprosto tápu v tom, jak to udělat. Jakým způsobem to tedy nastavit? Díky.


Re:Subdomény na stejné IP
« Odpověď #1 kdy: 02. 01. 2021, 19:22:19 »
asi se motám v tom jak to máš a co chceš. Chápu správně, že ta subdoména má běžet někde jinde než na tom banana pi a na ten banani pi míří provoz z veřejné ip adresy?

V první řadě nasměruji A DNS záznam pro subdoménu na tvoji veřejnou adresu, provoz by měl končit na tvém nginxu na BPi.

Pak stačí přidat konfiguraci do nginx a díky SNI hlavičkám u http paketů to umí sám spárovat:

Kód: [Vybrat]
server {
    listen 80;
    server_name subdomena.example.com;
    root /var/www/subdomena.example.com/html;
}

Pokud bys naopak chtěl obsluhovat subdoménu jinde než na BPi, třeba na RPi, musíš na BPi udělat pro nginx pravidlo, aby provoz forwardovalo (reverzní proxy):

Kód: [Vybrat]
upstream rpi {
    server rpi_ip_address:80;
}

server {
    listen 80;
    server_name subdomena.example.com;

    location / {
        proxy_pass http://rpi$request_uri;
    }
}

Na tvém RPi poté přidat konfiguraci pro nginx, jak kdyby tam provoz mířil přímo:

Kód: [Vybrat]
server {
    listen 80;
    server_name subdomena.example.com;
    root /var/www/subdomena.example.com/html;
}


Re:Subdomény na stejné IP
« Odpověď #2 kdy: 02. 01. 2021, 19:24:24 »
V případě protokolu HTTP a HTTPS můžete na jedné IP adrese provozovat weby pro libovolné množství domén. Tj. na jedné IP adrese můžete mít třeba weby example.com, example.net a home.example.net.

Na straně DNS jenom nastavíte příslušné A/AAAA záznamy, aby vedly na příslušnou IP adresu. Na straně webového serveru pak musíte nakonfigurovat tzv. virtual host – vizte např. dokumentaci pro nginx. Pokud byste chtěl nějaký web provozovat fyzicky na jiném zařízení, než které má přidělenu tu veřejnou IP adresu (třeba na nějakém zařízení v rámci domácí sítě), použijte na tom zařízení s veřejnou IP adresou reverzní proxy server. Opět to umí např. nginx – vizte Simple Proxy Server a dokumentace ngx_http_proxy_module.

Šťur

  • **
  • 98
  • Bude pršet.
    • Zobrazit profil
Re:Subdomény na stejné IP
« Odpověď #3 kdy: 02. 01. 2021, 21:15:53 »
Ano, tohle jsem potřeboval. Díky moc.  :)