Frågor kring Nginx reverse proxy och domäner.

Permalänk
Medlem

Frågor kring Nginx reverse proxy och domäner.

Hello,

Åter har hushållets datorer fått sig en översyn och jag har städat upp i dockersvären. Nu när det är ordning och reda så har jag kommit att snegla på nginx reverse proxy. Jag blev sugen då, som jag förstår det, verkar vara "endast en dörr ut mot internet" och att man kan kräva ssl anslutning till sina containers/applikationer.

Som jag förstår det så underlättar det om man har en domän. Fråga jag inte har helt kläm på men ska forska i; Måste man köra med webhotell om man bara vill ha en domän? Funderar på en .se domän från egensajt(om de är att rekommendera?). En annan domän som är av intresse är .xyz som verkar vara något Google gillar. Bra erbjudande på .xyz domän men känns bättre med en .se domän, finns det något man bör ha i åtanke om man väljer en .xyz över en .se?

Jag har tre olika serverenheter för olika ändamål. Tanken är att Nginx proxy manager kommer köras på en RPi3B eller Odyssey86. Det här är säkert en mycket korkad fråga men spelar det någon roll på vilken av dessa enheter som Nginx proxy manager installeras ur prestandasynpunkt? Upprättar den endast kommunikationen eller kommer den rutta all trafik via enheten som kör nginx?

Permalänk
Medlem
Skrivet av Benkaboy:

Hello,

Åter har hushållets datorer fått sig en översyn och jag har städat upp i dockersvären. Nu när det är ordning och reda så har jag kommit att snegla på nginx reverse proxy. Jag blev sugen då, som jag förstår det, verkar vara "endast en dörr ut mot internet" och att man kan kräva ssl anslutning till sina containers/applikationer.

Som jag förstår det så underlättar det om man har en domän. Fråga jag inte har helt kläm på men ska forska i; Måste man köra med webhotell om man bara vill ha en domän? Funderar på en .se domän från egensajt(om de är att rekommendera?). En annan domän som är av intresse är .xyz som verkar vara något Google gillar. Bra erbjudande på .xyz domän men känns bättre med en .se domän, finns det något man bör ha i åtanke om man väljer en .xyz över en .se?

Jag har tre olika serverenheter för olika ändamål. Tanken är att Nginx proxy manager kommer köras på en RPi3B eller Odyssey86. Det här är säkert en mycket korkad fråga men spelar det någon roll på vilken av dessa enheter som Nginx proxy manager installeras ur prestandasynpunkt? Upprättar den endast kommunikationen eller kommer den rutta all trafik via enheten som kör nginx?

1. Nej du måste inte ha ett webhotell om du bara vill ha en domän, men du måste handla domänen hos t.ex. egensajt.se eller one.com finns fler och välja på här sen pekar du domänen till ditt ip.

2. egensajt.se väldigt fin domänregistrator, kör på en .se domän du .xyz går också bra, men tror fler människor ser en landsdomän som mer seriös domän. Du skulle dock kunna köpa båda.

3. nginx precis som alla andra applikationer gillar prestanda, så juh mer resurser du kan avara till din NPM desto mer kommer din NPM uppskatta dig.

4. finns inga korkade / dumma frågor när man är ute efter att lära sig, och jag tycker du ställde helt ok frågor eftersom du är nybörjare och vill lära dig

Självklart finns det mindre genomtänkta frågor som folk ställer på vissa forum, t.ex.
hur tömmer jag papperskorgen?
eller hur hittar man detta?

Men såg inga ogenomtänkta frågor från dig.

5. ang trafik via enheten som kör nginx NPM kommer hantera all form av kryptering via ditt ssl /tls som alla andra applikationer går via om du planerar att låta dom gå genom RP vilket jag antar att du planerar att göra eftersom du nämner NPM.

Visa signatur

[ Fractal Design Define S Svart ] [ ASUS ProArt X670E-Creator WIFI ] [ Amd Ryzen 9 7950x3D ]
[ G.Skill Trident 64GB DDR5 6000MHz ] [ Noctua NH-D15 Chromax Black ]
[ Western Digital Black SN850X 1TB Gen4 ] [ Samsung 870 QVO 2TB MZ-77Q2T0BW ]
[ ASUS TUF GeForce RTX 3080 10GB Gaming OC ]
[ Corsair AX860 80 Plus Platinum ] [ Gigabyte 32" M32U IPS 4K 144 Hz HDMI 2.1 ]

Permalänk
Medlem
Skrivet av Zidichy:

1. Nej du måste inte ha ett webhotell om du bara vill ha en domän, men du måste handla domänen hos t.ex. egensajt.se eller one.com finns fler och välja på här sen pekar du domänen till ditt ip.

2. egensajt.se väldigt fin domänregistrator, kör på en .se domän du .xyz går också bra, men tror fler människor ser en landsdomän som mer seriös domän. Du skulle dock kunna köpa båda.

3. nginx precis som alla andra applikationer gillar prestanda, så juh mer resurser du kan avara till din NPM desto mer kommer din NPM uppskatta dig.

4. finns inga korkade / dumma frågor när man är ute efter att lära sig, och jag tycker du ställde helt ok frågor eftersom du är nybörjare och vill lära dig

Självklart finns det mindre genomtänkta frågor som folk ställer på vissa forum, t.ex.
hur tömmer jag papperskorgen?
eller hur hittar man detta?

Men såg inga ogenomtänkta frågor från dig.

5. ang trafik via enheten som kör nginx NPM kommer hantera all form av kryptering via ditt ssl /tls som alla andra applikationer går via om du planerar att låta dom gå genom RP vilket jag antar att du planerar att göra eftersom du nämner NPM.

Tackar så mycket för svaren!

Det blev en .xyz domän att börja med. Jag har även testat tre olika dockerinstallationer av Nginx proxy manager då jag trodde att något var fel där men det verkar som att jag inte förstår hur allt hänger ihop med subdomäner och proxys.

Jag har en installation av NPM som verkar fungera som sig bör. Jag skapar en proxy host, skriver in min domän, sub.domain.xyz, säger vart den ska peka, 192.168.1.333 på port 5555, klickar i "block common exploits" trycker spara. frid och fröjd.

Jag har redan innan skapat en domän på egensajt som heter sub.domain.xyz och väljer, vad jag antar jag måste välja, att vidarebefordra med hjälp av en duckdns jag kör. Sparar och skriver in sub.domain.xyz i webläsaren och kommer till en gratulationsruta för nginx som även säger att inga hosts har konfigurerats ännu. Vad fals?!

Söker och letar för att finna svar, inga passar för mig. Jag väljer sen att editera min proxy host så att den istället ska peka om förfrågningar som kommer från min dns. Skriver in dns:en utan port i sökfäletet och boom! raka vägen till applikationen jag trodde jag skulle nå med min xyz domän. Så långt verkar det fungera.

Så den stora frågan är nu, vad gör jag för fel med min .xyz domän? Jag ser i query logen på pi-hole att förfrågningar trillar in från min .xyz domän och de är grönt, men det händer inget mer. Vad är der som gör att dnsen når fram men inte min .xyz domän då de båda är satta att peka mot samma ställe.

Permalänk
Medlem

Det skulle underlätta om du klistrar in din nginx konfiguration med kod-block här, det är svårt att veta vad som går fel utan att faktiskt se konfigurationen.

Och nu menar jag konfigurationen för just det domännamnet, inte den generiska nginx konfigurationen.

Permalänk
Medlem
Skrivet av gonace:

Det skulle underlätta om du klistrar in din nginx konfiguration med kod-block här, det är svårt att veta vad som går fel utan att faktiskt se konfigurationen.

Och nu menar jag konfigurationen för just det domännamnet, inte den generiska nginx konfigurationen.

Idag hände något oväntat. Jag kom åt applikation 1 med hjälp av sub1.domain.xyz efter att ha ändrat från min dns. Jag reagerade på att båda mina addresser i NPM ledde till applikation 1. Jag ändrade från dns till sub1.domain.xyz. Jag kom fram! Helt otroligt. Jag förstår inte varför däremot? Jag kunde tom skapa ett ssl certifikat nu för applikation 1.

Applikation 2 fungerar däremot inte med sin sub2.domain.xyz utan kommer bara fram till "gratulationssidan" för nginx.

server { set $forward_scheme http; set $server "192.168.1.21"; set $port 8889; listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; server_name sub1.doman.xyz; # Let's Encrypt SSL include conf.d/include/letsencrypt-acme-challenge.conf; include conf.d/include/ssl-ciphers.conf; ssl_certificate /etc/letsencrypt/live/npm-5/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/npm-5/privkey.pem; # Asset Caching include conf.d/include/assets.conf; # Block Exploits include conf.d/include/block-exploits.conf; # Force SSL include conf.d/include/force-ssl.conf;

Nedan är den senaste konfigurationen för applikation 2 som jag vill nå via domänadressen jag angivit. Kommer bara till sidan som säger att det inte är några hosts uppsatta än. Jag har prövat att lägga till containern i samma nätverk som NPM containern och använt det ip-numret som givits. Fungerar inte heller. Så vare sig interna ip:t till enheten eller ip:t för NPM nätverket.

Det roliga är, byter jag ut adressen i NPM för applikation 2 från sub2.domain.xyz till dns adressen så kommer jag fram direkt. Jag är häpen över att applikation 1 fungerar med den tilltänkta domänadressen.

server { set $forward_scheme http; set $server "172.19.0.3"; set $port 4567; listen 80; listen [::]:80; server_name sub2.domain.xyz; # Asset Caching include conf.d/include/assets.conf; # Block Exploits include conf.d/include/block-exploits.conf; access_log /data/logs/proxy-host-4_access.log proxy; error_log /data/logs/proxy-host-4_error.log warn; location / {

båda subdomänerna hos egensajt är konfigurerade att vidarebefordra till min dns. Applikation 1 fungerar, applikaton 2 beter sig som alla försök gjorde igår, grattis du har etc etc.

Permalänk
Medlem
Skrivet av Benkaboy:

Tackar så mycket för svaren!

Det blev en .xyz domän att börja med. Jag har även testat tre olika dockerinstallationer av Nginx proxy manager då jag trodde att något var fel där men det verkar som att jag inte förstår hur allt hänger ihop med subdomäner och proxys.

Jag har en installation av NPM som verkar fungera som sig bör. Jag skapar en proxy host, skriver in min domän, sub.domain.xyz, säger vart den ska peka, 192.168.1.333 på port 5555, klickar i "block common exploits" trycker spara. frid och fröjd.

Jag har redan innan skapat en domän på egensajt som heter sub.domain.xyz och väljer, vad jag antar jag måste välja, att vidarebefordra med hjälp av en duckdns jag kör. Sparar och skriver in sub.domain.xyz i webläsaren och kommer till en gratulationsruta för nginx som även säger att inga hosts har konfigurerats ännu. Vad fals?!

Söker och letar för att finna svar, inga passar för mig. Jag väljer sen att editera min proxy host så att den istället ska peka om förfrågningar som kommer från min dns. Skriver in dns:en utan port i sökfäletet och boom! raka vägen till applikationen jag trodde jag skulle nå med min xyz domän. Så långt verkar det fungera.

Så den stora frågan är nu, vad gör jag för fel med min .xyz domän? Jag ser i query logen på pi-hole att förfrågningar trillar in från min .xyz domän och de är grönt, men det händer inget mer. Vad är der som gör att dnsen når fram men inte min .xyz domän då de båda är satta att peka mot samma ställe.

Det är lite smått komplex att förstå hur en subdomän fungerar tillsammans med en domän, som man knyter till en proxy .conf fil med all syntax som ska fungera i början om man aldrig gjort detta tidigare eller enbart besitter en del kunskap
Men ge inte upp, fortsätt göra research, och testa dig fram tills du lyckas.

I din DNS hanterare skall ditt CNAME gå till ditt A Record.
Du skall t.ex. ej konfigurera det på så sätt att varje subdomän har ett A Record.
Man låter alltid sitt A Record hantera sitt CNAME.*
*Det enda undantaget för denna regel är om en annan server på ett annat externt IP ska vara knytet till ens domän.

Vad fals?!
Anledningen till att de blir så är för att din proxy konfig är inkorrekt.

Hade juh underlättat om du berättade vad för applikation du vill sätta i RP, men om det nu är din pihole som du har planer för att låta vara i RP till din domän, behöver du i din nginx proxy konf bland annat.

en korrekt location
och proxy_pass
den behöver också en hel del proxy_set_header
samt är det bra om du har med error och access_log

Även om det inte gäller pihole för RP så kräver dom flesta proxy konf det jag listade över.

Tips kolla upp upstream_app läs här ifrån

Skrivet av Benkaboy:

Idag hände något oväntat. Jag kom åt applikation 1 med hjälp av sub1.domain.xyz efter att ha ändrat från min dns. Jag reagerade på att båda mina addresser i NPM ledde till applikation 1. Jag ändrade från dns till sub1.domain.xyz. Jag kom fram! Helt otroligt. Jag förstår inte varför däremot? Jag kunde tom skapa ett ssl certifikat nu för applikation 1.

Applikation 2 fungerar däremot inte med sin sub2.domain.xyz utan kommer bara fram till "gratulationssidan" för nginx.

server { set $forward_scheme http; set $server "192.168.1.21"; set $port 8889; listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; server_name sub1.doman.xyz; # Let's Encrypt SSL include conf.d/include/letsencrypt-acme-challenge.conf; include conf.d/include/ssl-ciphers.conf; ssl_certificate /etc/letsencrypt/live/npm-5/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/npm-5/privkey.pem; # Asset Caching include conf.d/include/assets.conf; # Block Exploits include conf.d/include/block-exploits.conf; # Force SSL include conf.d/include/force-ssl.conf;

Nedan är den senaste konfigurationen för applikation 2 som jag vill nå via domänadressen jag angivit. Kommer bara till sidan som säger att det inte är några hosts uppsatta än. Jag har prövat att lägga till containern i samma nätverk som NPM containern och använt det ip-numret som givits. Fungerar inte heller. Så vare sig interna ip:t till enheten eller ip:t för NPM nätverket.

Det roliga är, byter jag ut adressen i NPM för applikation 2 från sub2.domain.xyz till dns adressen så kommer jag fram direkt. Jag är häpen över att applikation 1 fungerar med den tilltänkta domänadressen.

server { set $forward_scheme http; set $server "172.19.0.3"; set $port 4567; listen 80; listen [::]:80; server_name sub2.domain.xyz; # Asset Caching include conf.d/include/assets.conf; # Block Exploits include conf.d/include/block-exploits.conf; access_log /data/logs/proxy-host-4_access.log proxy; error_log /data/logs/proxy-host-4_error.log warn; location / {

båda subdomänerna hos egensajt är konfigurerade att vidarebefordra till min dns. Applikation 1 fungerar, applikaton 2 beter sig som alla försök gjorde igår, grattis du har etc etc.

Detta är helt fel...

Visa signatur

[ Fractal Design Define S Svart ] [ ASUS ProArt X670E-Creator WIFI ] [ Amd Ryzen 9 7950x3D ]
[ G.Skill Trident 64GB DDR5 6000MHz ] [ Noctua NH-D15 Chromax Black ]
[ Western Digital Black SN850X 1TB Gen4 ] [ Samsung 870 QVO 2TB MZ-77Q2T0BW ]
[ ASUS TUF GeForce RTX 3080 10GB Gaming OC ]
[ Corsair AX860 80 Plus Platinum ] [ Gigabyte 32" M32U IPS 4K 144 Hz HDMI 2.1 ]

Permalänk
Medlem
Skrivet av Zidichy:

Det är lite smått komplex att förstå hur en subdomän fungerar tillsammans med en domän, som man knyter till en proxy .conf fil med all syntax som ska fungera i början om man aldrig gjort detta tidigare eller enbart besitter en del kunskap
Men ge inte upp, fortsätt göra research, och testa dig fram tills du lyckas.

I din DNS hanterare skall ditt CNAME gå till ditt A Record.
Du skall t.ex. ej konfigurera det på så sätt att varje subdomän har ett A Record.
Man låter alltid sitt A Record hantera sitt CNAME.*
*Det enda undantaget för denna regel är om en annan server på ett annat externt IP ska vara knytet till ens domän.

Vad fals?!
Anledningen till att de blir så är för att din proxy konfig är inkorrekt.

Hade juh underlättat om du berättade vad för applikation du vill sätta i RP, men om det nu är din pihole som du har planer för att låta vara i RP till din domän, behöver du i din nginx proxy konf bland annat.

en korrekt location
och proxy_pass
den behöver också en hel del proxy_set_header
samt är det bra om du har med error och access_log

Även om det inte gäller pihole för RP så kräver dom flesta proxy konf det jag listade över.

Tips kolla upp upstream_app läs här ifrån

Detta är helt fel...

Vill börja med att tacka och säga att du är en HJÄLTE!!

Din fina beskrivning ledde mig att läsa på om A och CNAME som jag förbisett alldeles för mycket i de youtubeguider jag följt. Fick en bättre förståelse och satte av mot Egensajt för att bringa klarhet i resterande. Hittade då vart man kunde ställa in A, AAAA, CNAME osv. Skapade då ett A-record som mina CNAME går via och vips, nu fungerar det som det ska!

Jag känner dock att jag måste sätta mig in mer i hur reverse proxy fungerar. Jag vet nu hur jag sätter upp det med hjälp av NPM och har en övergripande förståelse vad som sker och hur det hänger ihop men det krävs lite till. Så det blir att insupa lite mer guider och läsning

Återigen, mången tack! Så glad

Permalänk
Medlem
Skrivet av Benkaboy:

Vill börja med att tacka och säga att du är en HJÄLTE!!

Din fina beskrivning ledde mig att läsa på om A och CNAME som jag förbisett alldeles för mycket i de youtubeguider jag följt. Fick en bättre förståelse och satte av mot Egensajt för att bringa klarhet i resterande. Hittade då vart man kunde ställa in A, AAAA, CNAME osv. Skapade då ett A-record som mina CNAME går via och vips, nu fungerar det som det ska!

Jag känner dock att jag måste sätta mig in mer i hur reverse proxy fungerar. Jag vet nu hur jag sätter upp det med hjälp av NPM och har en övergripande förståelse vad som sker och hur det hänger ihop men det krävs lite till. Så det blir att insupa lite mer guider och läsning

Återigen, mången tack! Så glad

Hero status achieved!

Skönt att det var en simpel åtgärd för att få din app att fungera.
Säg till om det är något mer du undrar över

Visa signatur

[ Fractal Design Define S Svart ] [ ASUS ProArt X670E-Creator WIFI ] [ Amd Ryzen 9 7950x3D ]
[ G.Skill Trident 64GB DDR5 6000MHz ] [ Noctua NH-D15 Chromax Black ]
[ Western Digital Black SN850X 1TB Gen4 ] [ Samsung 870 QVO 2TB MZ-77Q2T0BW ]
[ ASUS TUF GeForce RTX 3080 10GB Gaming OC ]
[ Corsair AX860 80 Plus Platinum ] [ Gigabyte 32" M32U IPS 4K 144 Hz HDMI 2.1 ]