pristup k lokalnym sluzbam cez domenu
- molnart
- Pokročilý používateľ
- Príspevky: 6663
- Dátum registrácie: Ut 19. Jún, 2012, 23:03
- Bydlisko: Bratislava/Samorin
pristup k lokalnym sluzbam cez domenu
Idem tu s dalsiou mojou blbou networkingovou otazkou:
chcel by som aby lokalne beziace sluzby boli dostupne cez domenu. napr. ked dnes mam transmission na adrese 192.168.50.8:9091 tak chcel by som sa k nemu dostat cez transmission.domena.tld, ked plex je na 192.168.50.8:32400 tak by som ho chcel mat na plex.domena.tld.
Trosku som sa hral s nginx reverse proxy, tam toto viem nastavit, ale on zaroven tie sluzby exposne aj na wan, co nechcem. Pre mailserver sa mi podarilo nastavit hairpin nat, takze tam to ide, ze len interne sluzby sa mi vedia pripojit na mail.domena.tld a odosielat mailu a porty nemam forwardnute na wan. ale ten reverese proxy funguje na portoch 80/443 a nechcem ich dat smerom von.
chcel by som aby lokalne beziace sluzby boli dostupne cez domenu. napr. ked dnes mam transmission na adrese 192.168.50.8:9091 tak chcel by som sa k nemu dostat cez transmission.domena.tld, ked plex je na 192.168.50.8:32400 tak by som ho chcel mat na plex.domena.tld.
Trosku som sa hral s nginx reverse proxy, tam toto viem nastavit, ale on zaroven tie sluzby exposne aj na wan, co nechcem. Pre mailserver sa mi podarilo nastavit hairpin nat, takze tam to ide, ze len interne sluzby sa mi vedia pripojit na mail.domena.tld a odosielat mailu a porty nemam forwardnute na wan. ale ten reverese proxy funguje na portoch 80/443 a nechcem ich dat smerom von.
Spoiler: ukázať
Re: pristup k lokalnym sluzbam cez domenu
A toto naco robis? Vsetka comm pôjde cez cez tu ARR a bohvie co nepôjde (veľa veci uz totiž používa daky pinning na zabezpecenie), toto je homelab alebo to plánuješ aj využívať? Lebo si zbytocne vytvaras artificial load na sieťové komponenty, ak ti ide o to okaslat porty tak bohužiaľ, na to sú spravené
.
- molnart
- Pokročilý používateľ
- Príspevky: 6663
- Dátum registrácie: Ut 19. Jún, 2012, 23:03
- Bydlisko: Bratislava/Samorin
Re: pristup k lokalnym sluzbam cez domenu
chcem sa jednoducho dostat k roznym sluzbam ktore mi doma bezia. mam na to nastaveny taky dashboard na styl heimdallu a mam to aj v zalozkach, ale ja radsej chodim tak ze zacnem tukat nieco do URL a tam mi to naskoci. lenze dost sa s tym hram, IP adresy a porty sa menia (teraz som vacsinu veci z docker macvlan presunul na bridge - macvlan som mal prave preto, že IP adresy sa mi lepsie pamatali, ale zasa je to zlozitejsie na nastavenie a udrziavanie). ale na tvoju otazku: robim to tak trosku z nudy + aby som sa nieco naucil
Spoiler: ukázať
-
- Moderátor
- Príspevky: 15047
- Dátum registrácie: Ut 26. Feb, 2008, 14:00
- Bydlisko: Bratislava/Štúrovo
Re: pristup k lokalnym sluzbam cez domenu
Tebou popisovana otazka je silne zavisla od toho, ako mas svoju domacu siet implementovanu.
Napriklad ja mam tebou pozadovane riesenie implementovane nasledovne:
Predpokladam, ze ty to mas cele robene na urovni nejakeho routeru, a preto mas taketo problemy.
Napriklad ja mam tebou pozadovane riesenie implementovane nasledovne:
- V sieti mi bezi DNSMasq server, ktory riesi resolvovanie hostnames, pricom vybrane domeny resolvne na interne IP adresy, zvysok posle upstream DNS servru. Tym mam zabezpecene to, ze povedzme Jenkins mi bezi pod domenou jenkins.domena.tld, no na verejnom DNS servri taky zaznam vobec neexistuje a zvonku takato sluzba logicky nie je dostupna.
- Nasledne na lokalnom servri, kde mi bezia tieto sluzby (lokalne alebo v dockeri) spravim nginx reverse proxy. To, ze na aky interface nabindujes nginx je vecou konfiguracie.
- Pre sluzby, ktore chcem mat verejne pouzijem OpenSSH plus moju VPS. Tym konkretne myslim to, ze zo servra spravim SSH spojenie na server, pricom forwardnem lokalne porty na "localhost" porty na VPS. Nasledne na VPS uz potom spravim dalsie reverse proxy pre dane hostname na lokalny port. Samozrejme v pripade vypadku SSH spojenia dane sluzby nebudu fungovat, ale to je uz bohuzial riziko, s ktorym som ja ochotny zit.
Predpokladam, ze ty to mas cele robene na urovni nejakeho routeru, a preto mas taketo problemy.
- Hexaris
- Sponzor fóra gold
- Príspevky: 782
- Dátum registrácie: Št 11. Júl, 2019, 19:35
- Bydlisko: Nekde na zahori
Re: pristup k lokalnym sluzbam cez domenu
Uz tu asi bolo povedane vsetko, inak u nginx si mozes u listen nastavit pristup na rozne IP. Co sa tyk LE tak bud wildcard alebo SNI. Na domenu osobne pouzivam bud bind s multiview alebo nieco podobne. U dnsmasq obcas niektore zariadenia strajkuju a nefunguje prekladanie.
Your value does not decrease because of someone's inability to see your worth.
BOOK: MB Air M1 2020 AMP: Topping DX3Pro+ HEADPHONES: HiFiMAN HE400SE
BOOK: MB Air M1 2020 AMP: Topping DX3Pro+ HEADPHONES: HiFiMAN HE400SE
- molnart
- Pokročilý používateľ
- Príspevky: 6663
- Dátum registrácie: Ut 19. Jún, 2012, 23:03
- Bydlisko: Bratislava/Samorin
Re: pristup k lokalnym sluzbam cez domenu
resolving ti funguje aj vtedy ak mas na jednej ip adrese 10 roznych sluzieb na roznych portoch?faugusztin napísal: ↑Ne 24. Máj, 2020, 10:47
- V sieti mi bezi DNSMasq server, ktory riesi resolvovanie hostnames, pricom vybrane domeny resolvne na interne IP adresy, zvysok posle upstream DNS servru. Tym mam zabezpecene to, ze povedzme Jenkins mi bezi pod domenou jenkins.domena.tld, no na verejnom DNS servri taky zaznam vobec neexistuje a zvonku takato sluzba logicky nie je dostupna.
vedel by si sem hodit priklad jednej konfiguracie pre reverse proxy?
Spoiler: ukázať
-
- Moderátor
- Príspevky: 15047
- Dátum registrácie: Ut 26. Feb, 2008, 14:00
- Bydlisko: Bratislava/Štúrovo
Re: pristup k lokalnym sluzbam cez domenu
Podstatna je nginx konfiguracia pre kazdy hostname:
Dolezite je co mas v polozke server_name (pre SNI ak pouzivas SSL) a potom mas samozrejme ciel uvedeny v proxy_pass konfiguracii.
Takze povedzme v tvojom pripade spravis konfiguraciu so server_name transmission.domena.tld, ktora bude mat proxy_pass na http://192.168.50.8:9091/, a druhy konfiguracny subor so server-name plex.domena.tld s proxy_pass na http://192.168.50.8:32400/.
Teda:
Kód: Vybrať všetko
server {
# SSL configuration
#
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
include snippets/ssl_params;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name hostname.domena.tld;
location = /favicon.ico {
alias /var/www/media/images/favicon.remote.ico;
}
location / {
proxy_pass http://hostname:port/;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer $http_referer;
proxy_set_header Host $host;
# by default nginx times out connections in one minute
proxy_read_timeout 1d;
}
}
Takze povedzme v tvojom pripade spravis konfiguraciu so server_name transmission.domena.tld, ktora bude mat proxy_pass na http://192.168.50.8:9091/, a druhy konfiguracny subor so server-name plex.domena.tld s proxy_pass na http://192.168.50.8:32400/.
Teda:
- interne DNS pre interny resolving, v konfiguracii pridas hostname -> IP prevod na server kde ti bezi NGINX.
- NGINX, pricom pre kazdy hostname vytvoris samostatnu konfiguraciu server {}
- molnart
- Pokročilý používateľ
- Príspevky: 6663
- Dátum registrácie: Ut 19. Jún, 2012, 23:03
- Bydlisko: Bratislava/Samorin
Re: pristup k lokalnym sluzbam cez domenu
skusam tvoj config, vyhodil som z toho veci na ssl zatial pre testing a davami to chybu
inac rovnaku chybu mi davaju priklady reverse proxy ktore su zahrnute do letsencrypt docker balicka. kontajnery mi bezia vsetky na rovnakom subnete, takze mali by sa vidiet navzajom.
v default config mam nastavene server_name _; co podla dokumentacie by malo zabezpecit aby nedoslo ku konfliktom. prehladal som vsetkt nginx subory na server_name a bud tam mam hodnotu _ alebo ten jackett co som daval
Kód: Vybrať všetko
nginx: [warn] conflicting server name "jackett.domena.tld" on 0.0.0.0:80, ignored,
nginx: [warn] conflicting server name "jackett.domena.tld" on [::]:80, ignored,
v default config mam nastavene server_name _; co podla dokumentacie by malo zabezpecit aby nedoslo ku konfliktom. prehladal som vsetkt nginx subory na server_name a bud tam mam hodnotu _ alebo ten jackett co som daval
Spoiler: ukázať
-
- Moderátor
- Príspevky: 15047
- Dátum registrácie: Ut 26. Feb, 2008, 14:00
- Bydlisko: Bratislava/Štúrovo
Re: pristup k lokalnym sluzbam cez domenu
Prever, ze ci ti tvoj editor neponechava nejake zalozne subory v danom adresari.
- molnart
- Pokročilý používateľ
- Príspevky: 6663
- Dátum registrácie: Ut 19. Jún, 2012, 23:03
- Bydlisko: Bratislava/Samorin
Re: pristup k lokalnym sluzbam cez domenu
google mi tiez nasiel tu odpoved, ale nie, pregrepoval som vsetky subory nginxu a server_name tam nie je nikde kde by mohol byt konflikt.
napadlo mi ze problem bude v tom ze nginx ktory by mal robit reverse proxy mi bezi na adrese 192.168.50.8 na portoch 10443 a 1080. na rovnakej ip adrese mi bezi ale aj openmediavault ktory vlastne hostuje cez docker vsetky sluzby, a ten ma svoj vlastny nginx server na porte 80 a mal som pocit ze tieto dve su v konflikte. ale prestahovanie omv na iny port nepomohlo, a ip adresy neviem oddelit, lebo potom by na seba jednotlive sluzby nevideli
napadlo mi ze problem bude v tom ze nginx ktory by mal robit reverse proxy mi bezi na adrese 192.168.50.8 na portoch 10443 a 1080. na rovnakej ip adrese mi bezi ale aj openmediavault ktory vlastne hostuje cez docker vsetky sluzby, a ten ma svoj vlastny nginx server na porte 80 a mal som pocit ze tieto dve su v konflikte. ale prestahovanie omv na iny port nepomohlo, a ip adresy neviem oddelit, lebo potom by na seba jednotlive sluzby nevideli
Spoiler: ukázať
-
- Moderátor
- Príspevky: 15047
- Dátum registrácie: Ut 26. Feb, 2008, 14:00
- Bydlisko: Bratislava/Štúrovo
Re: pristup k lokalnym sluzbam cez domenu
Skus spustit prikaz:
To by ti malo vypisat cely aktivny config nginx, prezri si ho, pripadne ak nevies najst problem, mozes ho cely sem aj dat.
Kód: Vybrať všetko
nginx -T
- Hexaris
- Sponzor fóra gold
- Príspevky: 782
- Dátum registrácie: Št 11. Júl, 2019, 19:35
- Bydlisko: Nekde na zahori
Re: pristup k lokalnym sluzbam cez domenu
Neviem co presne znamena zabmedzit konfliktom, ale direktiva _; je klasika catch-all a berie vsetko, ako u apache kde je wildcard. Taktiez mozes zadat vsetko bez ohladu na referer na port: listen 80 default_server
Your value does not decrease because of someone's inability to see your worth.
BOOK: MB Air M1 2020 AMP: Topping DX3Pro+ HEADPHONES: HiFiMAN HE400SE
BOOK: MB Air M1 2020 AMP: Topping DX3Pro+ HEADPHONES: HiFiMAN HE400SE
- molnart
- Pokročilý používateľ
- Príspevky: 6663
- Dátum registrácie: Ut 19. Jún, 2012, 23:03
- Bydlisko: Bratislava/Samorin
Re: pristup k lokalnym sluzbam cez domenu
tak po refershnuti nginx suborov docker kontajnera to ide, ale hodne zaujimavo:
- subdomena.domena.tld je dostupna aj zvonka, co teda rozhodne nebol moj zamer
- subdomena.domena.tld je zvnutra dostupna tak sometimes. ked som odstranil staticke dns pre dashmachine.domena.tld tak to islo, potom zasa nie. vratil som staticke dns, islo. potom zasa nie, ked som odstranil fungovalo to opat. napr. jackett a tautulli zvnutra nejde nikdy, bez ohladu ci jackett.domena.tld je v dns zaznamoch alebo nie. zvonka to ide vzdy. plex ide aj zvnutra, aj ked ho nemam v dns...
- najzaujimavesji je adminer. priamo v docker-compose tam mam nastaveny iny dizajn ui, co je vlastne css subor v kontajnery. zvnutra to natiahne tento zvoleny dizajn, ale zvonka default...
kopiroval som vzdy ten isty subor, jedine co som menil bola cisla portov a subdomena.
radsej som teda vypol vsetky tie configy, lebo fakt nechcem aby boli viditelne zvonka. mohol by som sice vypnut presmerovanie nginx kontajnera na wan, ale chcem mat na domene aspon prazdny obrazok.
- subdomena.domena.tld je dostupna aj zvonka, co teda rozhodne nebol moj zamer
- subdomena.domena.tld je zvnutra dostupna tak sometimes. ked som odstranil staticke dns pre dashmachine.domena.tld tak to islo, potom zasa nie. vratil som staticke dns, islo. potom zasa nie, ked som odstranil fungovalo to opat. napr. jackett a tautulli zvnutra nejde nikdy, bez ohladu ci jackett.domena.tld je v dns zaznamoch alebo nie. zvonka to ide vzdy. plex ide aj zvnutra, aj ked ho nemam v dns...
- najzaujimavesji je adminer. priamo v docker-compose tam mam nastaveny iny dizajn ui, co je vlastne css subor v kontajnery. zvnutra to natiahne tento zvoleny dizajn, ale zvonka default...
kopiroval som vzdy ten isty subor, jedine co som menil bola cisla portov a subdomena.
radsej som teda vypol vsetky tie configy, lebo fakt nechcem aby boli viditelne zvonka. mohol by som sice vypnut presmerovanie nginx kontajnera na wan, ale chcem mat na domene aspon prazdny obrazok.
Spoiler: ukázať
-
- Moderátor
- Príspevky: 15047
- Dátum registrácie: Ut 26. Feb, 2008, 14:00
- Bydlisko: Bratislava/Štúrovo
Re: pristup k lokalnym sluzbam cez domenu
"Obcas ide, obcas nie" - to vyzera, ze mas DNS cudne spravene (raz ides cez interny resolver, raz cez externy).
"Zvonka viditelne" - nechapem preco mas system s OMV akymkolvek sposobom vystrceny do internetu. Sprav si na dalsom systeme proxy pre weby, ktore chces mat vystrcene na internete, a iba tento system spristupni zvonku.
Ale ja to uz viacmenej vzdavam, to co chces spravit je mozne spravit, ale nieco je u teba velmi zle nakonfigurovane, to ale na dialku nenajdeme.
"Zvonka viditelne" - nechapem preco mas system s OMV akymkolvek sposobom vystrceny do internetu. Sprav si na dalsom systeme proxy pre weby, ktore chces mat vystrcene na internete, a iba tento system spristupni zvonku.
Ale ja to uz viacmenej vzdavam, to co chces spravit je mozne spravit, ale nieco je u teba velmi zle nakonfigurovane, to ale na dialku nenajdeme.
- molnart
- Pokročilý používateľ
- Príspevky: 6663
- Dátum registrácie: Ut 19. Jún, 2012, 23:03
- Bydlisko: Bratislava/Samorin
Re: pristup k lokalnym sluzbam cez domenu
OMV vystrcene nemam, mam vystrceny nginx z dockeru, lebo:
- generuje a aktualizuje letsencrypt certifikat
- zobrazuje obrazok na mojej domene
OMV Webui sa mi namiesto danej sluzby nacitava interne, externe nikdy.
ono asi ani velmi inu moznost nemam, ak chcem pouzivat jednu instanciu nginx ako realny webserver aj ako reverse proxy tak mi bude strkat tie sluzby von. to by som ich musel rozbehnut dve paralelne. jeden pre webserver a druhy pre reverse proxy, pricom ten druhy by pouzival certifikaty generovane tym prvym.
to cudne DNS bude asi tym, ze primarne DNS na kompe mam na moj interny mikrotik router (na ktorom som nastavoval tie staticke DNS nazvy) a sekundarne DNS mi smeruje na huawei ont od telekomu, kde tie staticke DNS zaznamy nastavene nemam, ani ich nemam ako nastavit. zaujimave je, ze ja som to takto nenastavoval, ani to nie je nikde v nastaveniach, len dhcp to takto proste pridelilo. asi na tom huawei by som mal vypnut dhcp (viem ze ideal by bol bridge mod - aspon som narazil na case kde to DMZ ako to mam nastavene robi sarapatu)
- generuje a aktualizuje letsencrypt certifikat
- zobrazuje obrazok na mojej domene
OMV Webui sa mi namiesto danej sluzby nacitava interne, externe nikdy.
ono asi ani velmi inu moznost nemam, ak chcem pouzivat jednu instanciu nginx ako realny webserver aj ako reverse proxy tak mi bude strkat tie sluzby von. to by som ich musel rozbehnut dve paralelne. jeden pre webserver a druhy pre reverse proxy, pricom ten druhy by pouzival certifikaty generovane tym prvym.
to cudne DNS bude asi tym, ze primarne DNS na kompe mam na moj interny mikrotik router (na ktorom som nastavoval tie staticke DNS nazvy) a sekundarne DNS mi smeruje na huawei ont od telekomu, kde tie staticke DNS zaznamy nastavene nemam, ani ich nemam ako nastavit. zaujimave je, ze ja som to takto nenastavoval, ani to nie je nikde v nastaveniach, len dhcp to takto proste pridelilo. asi na tom huawei by som mal vypnut dhcp (viem ze ideal by bol bridge mod - aspon som narazil na case kde to DMZ ako to mam nastavene robi sarapatu)
Spoiler: ukázať