» »

Dva http serverja (prot 80) na ist router

Dva http serverja (prot 80) na ist router

Stari89 ::

Ojla!

Pred kratkim sem se malo poglobil v node.js. Na svojem prastarem laptopu sem pognal en testni server. Router sem nastavil tako, da requeste na portu 80 še vedno pošilja na NAS napravo (kjer poganjam Apache), port 3000 pa na laptop. Ogromno zabave, kmalu bom imel narejeno interaktivno vlogo za delo, ki jo bom pošiljal potencialnim delodajalcem.

Vse super, ampak! Delodajalcu ne morem poslat: "Jst sem ta in ta, tu je moja vloga: http://zivljenjepis.mojadomena.si:3000", ker bo mislil, da sem luzer. Promet mora it skozi port 80. NAS naprave ne morem odklopit ali prestavit na drug port, saj tam že ganjam nekaj strani in servicev. Torej izziv je gnat spletne strani iz dveh serverjev preko istega routerja.

1. Najprej sem pomislil, da bi to uredil kar na routerju - iz ene poddomene naj usmeri promet na en notranji IP, iz druge poddomene pa na drug. To seveda ni job routerja, on zmore samo usmerit promet iz določenih portov na notranje IPje.

2. Na nastavitvah za domeno (hitrost.net) sem želel nastavit promet iz ene poddomene na ip z določenim portom, ampak domenski zapisi valda tega ne podpirajo.

3. Pomislil sem, da bi na laptop z node.js naložil namenski strežnik NGINX. Na routerju bi usmeril port 80 na laptop, potem pa bi NGINX pošlihtal vse. Problem je, da bi v tem primeru bil laptop ozko grlo pri pridobivanju podatkov iz NAS naprave, kar pa glede na njegovo stanje (8 let star Intel Atom procesor, WiFi povezava) ni baš dobra ideja pri prenašanju terabajtnih datotek pri sinhronizaciji medijske zbirke s prijatelji.

Preostane mi torej, da promet preusmerja server na NAS napravi. Tam lahko skozi GUI urejam virtual host, kjer requeste iz poddomen preusmerim na taprave folderje na nas napravi. Prometa žal ne morem usmerit na drug IP.

Rabil bi pomoč pri:
1. Na NAS napravi najdet taprav config file za virtual host.
2. Nastavit omenjen file, da bo iz poddomene usmeril promet na en drug IP (laptop), če je to sploh možno.

Gre pa se za napravo QNAP TS-431P.

Hvala!

Stari89 ::

Še tole:
Tudi omenjena NAS naprava zmore poganjat node.js, kar sem že stestiral. Žal ne na portu 80, ker je ta že zaseden iz strani Apacheja. Izbrat moram drug port, preko GUI pa seveda ne morem nastavit virtual hosta, da prikaže nekaj na drugem portu. Efektivno sem torej na istem, če poganjam node na ločenem laptopu ali na NAS napravi.

Mr.B ::

Nastavi por 443. Certifikat je pa đabe. Dans vsi varno komuniciramo...
France Rejects Genocide Accusations Against Israel in Gaza,
To accuse the Jewish state of genocide is to cross a moral threshold

jype ::

V apache config na NASu dodaj virtualhost.

blackbfm ::

Tista https opcija se mi slisi se smiselna, ostalo nevem.. Lahko si poenostavis zivljenje pa lepo ugasnes laptop in nabavis hetzner vps za 3 eure mesecno

Stari89 ::

HTTPS je v planu.
Hetzner vps je fajn ideja ampak je za moje potrebe overkill. Uporaba starega laptopa in igračkanje z nastavitvami v terminalu mi je v veselje in svojevrsten izziv.

Našel sem fajl s seznamom za virtualhost. Za začetek bom uporabil direktivo Redirect, da obiskovalca preusmeri na pravilen port, kar je že "good enough" za moje potrebe.
<VirtualHost *:80>
	ServerName zivljenjepis.mojadomena.si
	Redirect / http://zivljenjepis.mojadomena.si:3000
</VirtualHost>

Morda zgruntam še kaj.
LP

Stari89 ::

Tule sem našel odgovor - ProxyPass!
<VirtualHost *:80>
    ServerName zivljenjepis.mojadomena.si
    ServerAlias zivljenjepis.mojadomena.si

	ProxyRequests Off
	ProxyVia Off

	<Proxy *>
		Order deny,allow
		Allow from all
	</Proxy>
	
	ProxyPass / http://zivljenjepis.mojadomena.si:3000/
	ProxyPassReverse / http://zivljenjepis.mojadomena.si:3000/
</VirtualHost>

Dela ko šus!
LP

FX6300B ::

vidim da si rešitev že našel. ja to se imenuje reverse proxy, če bo kdo še kdaj slučajno rabil.
sicer pa ja HTTPS se splača sploh ker lahko z LetsEncrypt dobiš zastonj SSL certifikat 8-), res da ni za dolgo a z malo spretnosti brez težav lahko narediš kak cron job ki ti ga obnavlja na vsake toliko časa
May the force be with you!

Stari89 ::

Super, tnx za tip!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

PM2 (Node.js Process Manager) in uporabniki

Oddelek: Operacijski sistemi
6765 (701) dunda
»

Apache in Node.JS

Oddelek: Izdelava spletišč
91966 (1652) dunda
»

1 IP več Strežnikov

Oddelek: Pomoč in nasveti
242437 (1888) Mesar
»

Za strokovnjake; forwardiranje portov za routerjem

Oddelek: Omrežja in internet
151715 (1268) Rok Woot
»

Poddomene in tomato

Oddelek: Omrežja in internet
101518 (1308) x.sci

Več podobnih tem