Permalänk
Medlem

Dns request baserad reverse proxy?

Tjoho!

Sitter och söker runt efter en lösning på en ide jag har

jag har ett projekt där jag har ett 10tal servers bakom 1ip nummer, dessa kör flertalet tjänster. dock så blir behovet av flera port 80 webservers större och större

jag vill hitta en lösning där jag slipper bråka med portnummer, och istället låta routern göra allt jobb åt mig.

följande scenario är väl möjligt? men hur?
"besökaren" skriver in domän1.se och skickas till IP1, routern ser att besökaren har efterfrågat domän1.se och skickar trafiken till rätt server som hostar den sidan. om besökaren skriver in domän2.se så skickas han till en annan server, allt fortfarande över port80

är osäker på om denna informationen följer med hela vägen till routern dock, jag kör ej huvud DNS, utan det ligger hos leverantör

Reverse proxy har jag för mig kan lösa detta, fast det verkar som en mardröm att confa de alternativ jag hittat.

nödlösning är att använda exempel:

huvuddomän.se/domän1 -> server1
huvuddomän.se/domän2 -> server2

denna routingen skall vara enklare om jag förstått det rätt, då det ligger mer hos webservern än routern

sedan så pekar man om domän1.se -> huvuddomän.se/domän1 osv

vilken mjukvara och upplägg hade du valt? just nu är alla webservers antingen IIS eller Apache under BSD
routern är en pfsense 2.0 som kan bytas ut om de behövs
finns lite cisco 2600 routers och annat på hyllan, samt x86 maskiner för andra router distros

IIS och Apache kan ju lösa detta med flera siter på ett IP om allt legat på samma webserver, men nu är det olika fysiska maskiner

flera ip nummer går ej att få, och att köra med massa portar som besökaren behöver skriva in gillas in.

Visa signatur

RetroPC samlare av högsta nivå.
medlem 504 på sweclockers
https://timmynator.se

Permalänk
Avstängd
Skrivet av TimmyQ:

Tjoho!

Sitter och söker runt efter en lösning på en ide jag har

jag har ett projekt där jag har ett 10tal servers bakom 1ip nummer, dessa kör flertalet tjänster. dock så blir behovet av flera port 80 webservers större och större

jag vill hitta en lösning där jag slipper bråka med portnummer, och istället låta routern göra allt jobb åt mig.

följande scenario är väl möjligt? men hur?
"besökaren" skriver in domän1.se och skickas till IP1, routern ser att besökaren har efterfrågat domän1.se och skickar trafiken till rätt server som hostar den sidan. om besökaren skriver in domän2.se så skickas han till en annan server, allt fortfarande över port80

är osäker på om denna informationen följer med hela vägen till routern dock, jag kör ej huvud DNS, utan det ligger hos leverantör

Reverse proxy har jag för mig kan lösa detta, fast det verkar som en mardröm att confa de alternativ jag hittat.

nödlösning är att använda exempel:

huvuddomän.se/domän1 -> server1
huvuddomän.se/domän2 -> server2

denna routingen skall vara enklare om jag förstått det rätt, då det ligger mer hos webservern än routern

sedan så pekar man om domän1.se -> huvuddomän.se/domän1 osv

vilken mjukvara och upplägg hade du valt? just nu är alla webservers antingen IIS eller Apache under BSD
routern är en pfsense 2.0 som kan bytas ut om de behövs
finns lite cisco 2600 routers och annat på hyllan, samt x86 maskiner för andra router distros

IIS och Apache kan ju lösa detta med flera siter på ett IP om allt legat på samma webserver, men nu är det olika fysiska maskiner

flera ip nummer går ej att få, och att köra med massa portar som besökaren behöver skriva in gillas in.

Hej!

Går att lösa med apache med, med ReverseProxy, att du pekar in allt till 1 maskin, och den skickar sedan vidare beroende på villket domännamn som efterfrågas.

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

Kör fördelaktligen den reverse proxyn under Linux (t.ex. ubuntu) då apache är enklare att mecka med på Linux.
Varje domän läggs upp som en vhost, men med ReverseProxy inlagt i varje vhost fil med ip.

Visa signatur

System: Corsair Obsidian 550D Midi Tower Svart || Corsair AX 850W PSU || Intel® Core i7-3770K Processor || ASUS P8P67-M || 2 x Intel® SSD 520 Series 180GB || Gigabyte GeForce GTX 670 2GB PhysX CUDA ||

Permalänk
Medlem
Skrivet av PowerNet:

Hej!

Går att lösa med apache med, med ReverseProxy, att du pekar in allt till 1 maskin, och den skickar sedan vidare beroende på villket domännamn som efterfrågas.

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

Kör fördelaktligen den reverse proxyn under Linux (t.ex. ubuntu) då apache är enklare att mecka med på Linux.
Varje domän läggs upp som en vhost, men med ReverseProxy inlagt i varje vhost fil med ip.

tack, ska grotta ner mig djupare i apache och vhost

tydligen skall squid under pfsense klara detta med

sedan finns acceleratorn varnish som skall lösa detta, men jag är på tok för windows server type-of-guy för att bråka med det

Visa signatur

RetroPC samlare av högsta nivå.
medlem 504 på sweclockers
https://timmynator.se

Permalänk
Medlem
Permalänk
Avstängd
Skrivet av TimmyQ:

tack, ska grotta ner mig djupare i apache och vhost

tydligen skall squid under pfsense klara detta med

sedan finns acceleratorn varnish som skall lösa detta, men jag är på tok för windows server type-of-guy för att bråka med det

Hej!

här har du eett exempel att lägga in i en vhost fil:

ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass / http://dininternaip/
ProxyPassReverse / http://dininternaip/

Lägger du in dem 7 raderna i en vhost fil på din "huvudserver" så kommer den domänen skickas vidare till den ip adressen som är "dininternaip"

Om du är någotsånär hemma på Linux, så lägg in dem raderna i en vhost, (skapa en ny ich testa med) fyll i ServerName/ServerAlias etc, sen lägg i dem 7 raderna under och byt ut "dininternaip" mot den ip adressen du vill peka emot.

Du måste även ladda in proxy_http i apache för att få det att funka.

Visa signatur

System: Corsair Obsidian 550D Midi Tower Svart || Corsair AX 850W PSU || Intel® Core i7-3770K Processor || ASUS P8P67-M || 2 x Intel® SSD 520 Series 180GB || Gigabyte GeForce GTX 670 2GB PhysX CUDA ||

Permalänk
Medlem
Skrivet av PowerNet:

Hej!

här har du eett exempel att lägga in i en vhost fil:

ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass / http://dininternaip/
ProxyPassReverse / http://dininternaip/

Lägger du in dem 7 raderna i en vhost fil på din "huvudserver" så kommer den domänen skickas vidare till den ip adressen som är "dininternaip"

Om du är någotsånär hemma på Linux, så lägg in dem raderna i en vhost, (skapa en ny ich testa med) fyll i ServerName/ServerAlias etc, sen lägg i dem 7 raderna under och byt ut "dininternaip" mot den ip adressen du vill peka emot.

Du måste även ladda in proxy_http i apache för att få det att funka.

man tackar, man tackar!

skall testa lite och se vad som funkar bäst och vad som går snabbast att "expandera" i

all trafik kommer tuffa igenom apachen med denna lösningen väl?, dvs i en best practice så behövs en dedikerad maskin för detta som orkar skyffla all trafik, fast det kanske inte är så tungt som en vanlig forward proxy

ska nog börja med att köra såhär, sedan sätta mig in i att köra reversen i självaste routern där all trafik ändå skall igenom

Visa signatur

RetroPC samlare av högsta nivå.
medlem 504 på sweclockers
https://timmynator.se

Permalänk
Avstängd
Skrivet av TimmyQ:

man tackar, man tackar!

skall testa lite och se vad som funkar bäst och vad som går snabbast att "expandera" i

all trafik kommer tuffa igenom apachen med denna lösningen väl?, dvs i en best practice så behövs en dedikerad maskin för detta som orkar skyffla all trafik, fast det kanske inte är så tungt som en vanlig forward proxy

ska nog börja med att köra såhär, sedan sätta mig in i att köra reversen i självaste routern där all trafik ändå skall igenom

Ja, alla trafik kommer att skyfflas genom den.
Men att bara skyffla trafiken är i sig inget tungt för servern, det som är tungt för servern är ju att generera php filer etc.
Vilket sköts av dem andra servrarna (om det nu är php som ska genereras).

Du har inte funderat på att börja köra virtualiserade servrar? under t.ex. ESXi ?
Få ner antalet fysiska maskiner (sparar el, och inköp av hårdvara) dock så kanske du måste köpa en ny "bättre" server beroende på vad du ska hosta för sidor.

Om du kunde berätta mer för vad det är för sidor du hostar / vad sidorna kör för tjänster så kan det ges bättre svar (t.ex. om det är forum, bloggar etc?)

Visa signatur

System: Corsair Obsidian 550D Midi Tower Svart || Corsair AX 850W PSU || Intel® Core i7-3770K Processor || ASUS P8P67-M || 2 x Intel® SSD 520 Series 180GB || Gigabyte GeForce GTX 670 2GB PhysX CUDA ||

Permalänk
Medlem
Skrivet av PowerNet:

Ja, alla trafik kommer att skyfflas genom den.
Men att bara skyffla trafiken är i sig inget tungt för servern, det som är tungt för servern är ju att generera php filer etc.
Vilket sköts av dem andra servrarna (om det nu är php som ska genereras).

Du har inte funderat på att börja köra virtualiserade servrar? under t.ex. ESXi ?
Få ner antalet fysiska maskiner (sparar el, och inköp av hårdvara) dock så kanske du måste köpa en ny "bättre" server beroende på vad du ska hosta för sidor.

Om du kunde berätta mer för vad det är för sidor du hostar / vad sidorna kör för tjänster så kan det ges bättre svar (t.ex. om det är forum, bloggar etc?)

Siterna som körs är mest företagsprylar, som sharepoint, bokningsprylar, webapp och dylikt. osäker hur det är med filöverföring med en sån här lösning dock, sharepointen äter ju bandbredd när den används, och är osäker om den går över tcp port 80

angående virtualiserat så körs det lite blandat, 3st esx hosts finns, totalt runt 15maskiner är virtuella, sedan är det väl en runt 7st fysiska + brandväggar, disklådor mm

hade gärna kört allt virtuellt men finns inga pengar kvar, de återstående fysiska maskinerna är alla scsi baserade härken. men det ser ju iaf fräckt ut med ett fyllt 42u rack;) och ström är inget vi betalar för extra så de får tuffa på tills pengar finns

kortfattat är det inte många besökare per site, utan mest att siterna är tungdrivna och behöver sin egna lilla miljö för att lira var för sig, där av att jag behöver routa trafiken till de olika.

blev lite fundersam nu, vissa av maskinerna är streaming servers som streamar över port 80 (wmv ström över http) men har för mig att reverse proxy bara funkar med TCP, inte UDP? kanske kan tvinga streaming maskinerna att köra TCP dock

Just nu används temporär portal med länkar till respektive med ett portnummer, eller så kör de anställda vpn och når allt inifrån

Visa signatur

RetroPC samlare av högsta nivå.
medlem 504 på sweclockers
https://timmynator.se

Permalänk
Avstängd
Skrivet av TimmyQ:

Siterna som körs är mest företagsprylar, som sharepoint, bokningsprylar, webapp och dylikt. osäker hur det är med filöverföring med en sån här lösning dock, sharepointen äter ju bandbredd när den används, och är osäker om den går över tcp port 80

angående virtualiserat så körs det lite blandat, 3st esx hosts finns, totalt runt 15maskiner är virtuella, sedan är det väl en runt 7st fysiska + brandväggar, disklådor mm

hade gärna kört allt virtuellt men finns inga pengar kvar, de återstående fysiska maskinerna är alla scsi baserade härken. men det ser ju iaf fräckt ut med ett fyllt 42u rack;) och ström är inget vi betalar för extra så de får tuffa på tills pengar finns

kortfattat är det inte många besökare per site, utan mest att siterna är tungdrivna och behöver sin egna lilla miljö för att lira var för sig, där av att jag behöver routa trafiken till de olika.

blev lite fundersam nu, vissa av maskinerna är streaming servers som streamar över port 80 (wmv ström över http) men har för mig att reverse proxy bara funkar med TCP, inte UDP? kanske kan tvinga streaming maskinerna att köra TCP dock

Just nu används temporär portal med länkar till respektive med ett portnummer, eller så kör de anställda vpn och når allt inifrån

Körs streamingen över http på port 80 så är det nästan garanterat TCP, har alldrig hört att man kör streaming på http över udp. det som går över udp är mest spel osv.

Ni har inte funderat på att i framtiden köpa in 2 (eller fler) kraftiga servers med centraliserad lagring och köra allt som vmar?
Kanske kan placera in allt i en colocation hall, och på det viset få tillgång till flera ip adresser. Alt höra med eran operatör om ni kan få tillgång till flera ip adresser. (brukar kunna gå om det är företagsabb) vilket jag antar att ni kör?

Visa signatur

System: Corsair Obsidian 550D Midi Tower Svart || Corsair AX 850W PSU || Intel® Core i7-3770K Processor || ASUS P8P67-M || 2 x Intel® SSD 520 Series 180GB || Gigabyte GeForce GTX 670 2GB PhysX CUDA ||

Permalänk
Medlem
Skrivet av PowerNet:

Körs streamingen över http på port 80 så är det nästan garanterat TCP, har alldrig hört att man kör streaming på http över udp. det som går över udp är mest spel osv.

mjo känner igen det, kan vart hjärnan som rörde ihop det med mms strömmar och flash media

men körs det över TCP så borde det gå att routa som vilken hemsida som helst om man får ihop allt mao.

Visa signatur

RetroPC samlare av högsta nivå.
medlem 504 på sweclockers
https://timmynator.se

Permalänk
Avstängd
Skrivet av TimmyQ:

mjo känner igen det, kan vart hjärnan som rörde ihop det med mms strömmar och flash media

men körs det över TCP så borde det gå att routa som vilken hemsida som helst om man får ihop allt mao.

Editerade mitt inlägg ovan, läs igenom det och svara om du missade det!

Visa signatur

System: Corsair Obsidian 550D Midi Tower Svart || Corsair AX 850W PSU || Intel® Core i7-3770K Processor || ASUS P8P67-M || 2 x Intel® SSD 520 Series 180GB || Gigabyte GeForce GTX 670 2GB PhysX CUDA ||

Permalänk
Medlem
Skrivet av PowerNet:

Ni har inte funderat på att i framtiden köpa in 2 (eller fler) kraftiga servers med centraliserad lagring och köra allt som vmar?
Kanske kan placera in allt i en colocation hall, och på det viset få tillgång till flera ip adresser. Alt höra med eran operatör om ni kan få tillgång till flera ip adresser. (brukar kunna gå om det är företagsabb) vilket jag antar att ni kör?

jo jag håller på att tjata på cheferna att det behöver uppgraderas, ingen maskin har ju garanti kvar, hela infrastrukturen i huset är gamla catalyst 3500xl och dylikt, så prio ett är att få gigabit snurr lokalt före mer servers köps in

cola är nog inget som behövs, har ett dedikerat serverrum med kyla, bra ström mm, samt 300mbit full duplex, går att tjata till oss mera ipnummer, men de flesta nummrerna plockas upp av video conferens burkar som behöver kunna ringas utifrån och att routa med dessa är bara för jävligt

Fördelen med ett enkelt sätt att kunna routa underdomäner till olika "platser" i huset är ju just för att det skall vara enkelt att göra det. hellre lägga till några rader i en config än att beställa ett till IP, skapa/peka domäner, confa brandväggen med massa regler samt reverse dns config så att alla kan nå allt inifrån enkelt.

med ett IP så blir det mindre jobb helt enkelt om en reverse proxy gör det jag vill:)

Visa signatur

RetroPC samlare av högsta nivå.
medlem 504 på sweclockers
https://timmynator.se

Permalänk
Avstängd
Skrivet av TimmyQ:

jo jag håller på att tjata på cheferna att det behöver uppgraderas, ingen maskin har ju garanti kvar, hela infrastrukturen i huset är gamla catalyst 3500xl och dylikt, så prio ett är att få gigabit snurr lokalt före mer servers köps in

cola är nog inget som behövs, har ett dedikerat serverrum med kyla, bra ström mm, samt 300mbit full duplex, går att tjata till oss mera ipnummer, men de flesta nummrerna plockas upp av video conferens burkar som behöver kunna ringas utifrån och att routa med dessa är bara för jävligt

Fördelen med ett enkelt sätt att kunna routa underdomäner till olika "platser" i huset är ju just för att det skall vara enkelt att göra det. hellre lägga till några rader i en config än att beställa ett till IP, skapa/peka domäner, confa brandväggen med massa regler samt reverse dns config så att alla kan nå allt inifrån enkelt.

med ett IP så blir det mindre jobb helt enkelt om en reverse proxy gör det jag vill:)

Ja det blir enklare med reverse proxy istället för att hålla reda på flera externa ip adresser.

Dock så kommer ju eventuell reboot av den virtuella maskinen (eller fysiska) som sköter reverse proxyn att påverka *alla* sidor som går genom den.
Lika så kommer ju *alla* sidor påverkas om den får hårdvaru fel eller annat.

Skulle i det fallet rekommendera att den vmen med reverse proxyn körs under ESXi med HA läge aktivt (om ni har vSphere Server?) så startas den om om en fysisk server (vmhost) går ner.
Vilket ger en minimal nertid jämfört med att byta en fysisk maskin / hårdvara.

Visa signatur

System: Corsair Obsidian 550D Midi Tower Svart || Corsair AX 850W PSU || Intel® Core i7-3770K Processor || ASUS P8P67-M || 2 x Intel® SSD 520 Series 180GB || Gigabyte GeForce GTX 670 2GB PhysX CUDA ||

Permalänk
Medlem
Skrivet av PowerNet:

Ja det blir enklare med reverse proxy istället för att hålla reda på flera externa ip adresser.

Dock så kommer ju eventuell reboot av den virtuella maskinen (eller fysiska) som sköter reverse proxyn att påverka *alla* sidor som går genom den.
Lika så kommer ju *alla* sidor påverkas om den får hårdvaru fel eller annat.

Skulle i det fallet rekommendera att den vmen med reverse proxyn körs under ESXi med HA läge aktivt (om ni har vSphere Server?) så startas den om om en fysisk server (vmhost) går ner.
Vilket ger en minimal nertid jämfört med att byta en fysisk maskin / hårdvara.

ja det var lite därför jag i slutändan vill köra proxyn på pfsense maskinen, +1 för den är fysisk, +1 för att den har ändå högst prio att vara online, samt dör den så dör ändå allt, upptiden är väl nu en 260dagar sedan senaste reboot så jag litar på han

HA är sweet, men har aldrig fått köpa och köra det i drift, bara i labb. vår maskiner är 3st singel esxi maskiner med lokal lagring

min ful lösning för upptid nu är att ha en spare identisk (PE2850) maskin som pfsense burken offline i racket, allt har ju hotswap i fronten, och den lirar raid1, så skulle den nu dö på riktigt så får jag swoppa över diskarna och trycka igång den andra maskinen, ger väl en nertid på 3minuter om man är snabb.

tyvärr så vill ingen här lägga en spänn mer än på mjukvaror, för "allt funkar ju nu?" attityden sitter lite hårt. man hoppas nästan på att diskras utan dess like så att stället står till någon dag så de fattar att IT faktist behöver ompysslas=)

Visa signatur

RetroPC samlare av högsta nivå.
medlem 504 på sweclockers
https://timmynator.se

Permalänk
Avstängd
Skrivet av TimmyQ:

ja det var lite därför jag i slutändan vill köra proxyn på pfsense maskinen, +1 för den är fysisk, +1 för att den har ändå högst prio att vara online, samt dör den så dör ändå allt, upptiden är väl nu en 260dagar sedan senaste reboot så jag litar på han

HA är sweet, men har aldrig fått köpa och köra det i drift, bara i labb. vår maskiner är 3st singel esxi maskiner med lokal lagring

min ful lösning för upptid nu är att ha en spare identisk (PE2850) maskin som pfsense burken offline i racket, allt har ju hotswap i fronten, och den lirar raid1, så skulle den nu dö på riktigt så får jag swoppa över diskarna och trycka igång den andra maskinen, ger väl en nertid på 3minuter om man är snabb.

tyvärr så vill ingen här lägga en spänn mer än på mjukvaror, för "allt funkar ju nu?" attityden sitter lite hårt. man hoppas nästan på att diskras utan dess like så att stället står till någon dag så de fattar att IT faktist behöver ompysslas=)

Ja, det är oftast sånt tänk fram tills allt fallerar för att man inte haft tillräckligt bra redundans / serveruppsättning.

Gör en bra spec på hur mycket 2 (alt fler) vmhostar skulle kosta, med gemensam lagring (helst redundant såklart), nya switchar, ESXi licenser (med vSphere Server med HA/FT etc) och speca upp allt på ett bra sätt vad alla delar kostar osv och försök sälj in det, bara att börja nöta på tills slut så går det!

Man måste ju ställa en investeringskostnad mot vad eventuell nedtid på systemet kostar, t.ex. om en server rasar eller annat.
Om nu det inte är så att företaget "står och faller" (dvs aktivt förlorar inkomster så länge systemet är nere) med it delen så kanske det inte är värt det, men om det aktivt förloras inkomster vid nedtid så kan det vara värt det.

Visa signatur

System: Corsair Obsidian 550D Midi Tower Svart || Corsair AX 850W PSU || Intel® Core i7-3770K Processor || ASUS P8P67-M || 2 x Intel® SSD 520 Series 180GB || Gigabyte GeForce GTX 670 2GB PhysX CUDA ||

Permalänk
Medlem
Skrivet av PowerNet:

Ja, det är oftast sånt tänk fram tills allt fallerar för att man inte haft tillräckligt bra redundans / serveruppsättning.

Gör en bra spec på hur mycket 2 (alt fler) vmhostar skulle kosta, med gemensam lagring (helst redundant såklart), nya switchar, ESXi licenser (med vSphere Server med HA/FT etc) och speca upp allt på ett bra sätt vad alla delar kostar osv och försök sälj in det, bara att börja nöta på tills slut så går det!

Man måste ju ställa en investeringskostnad mot vad eventuell nedtid på systemet kostar, t.ex. om en server rasar eller annat.
Om nu det inte är så att företaget "står och faller" (dvs aktivt förlorar inkomster så länge systemet är nere) med it delen så kanske det inte är värt det, men om det aktivt förloras inkomster vid nedtid så kan det vara värt det.

jo är inne på samma spår, två 2st 8core opteron med en 64gig ram skulle nog kunna ersätta hela racket, ihop med ett typ openfiler iscsi HA kluster på någon TB styck.

först på listan är dock infrastruktur och wifi

försöker febrilt att få fram en siffra på vad hela verksamheten faktist förlorar om ingen kan jobba på en hel dag, men de slingrar sig. det är ju med denna siffra man enkelt kan bolla kostnader för redundans

Tack för all hjälp!

drar iväg ett framtida PM ifall jag fastnar med reverse proxy

Visa signatur

RetroPC samlare av högsta nivå.
medlem 504 på sweclockers
https://timmynator.se

Permalänk
Avstängd
Skrivet av TimmyQ:

jo är inne på samma spår, två 2st 8core opteron med en 64gig ram skulle nog kunna ersätta hela racket, ihop med ett typ openfiler iscsi HA kluster på någon TB styck.

först på listan är dock infrastruktur och wifi

försöker febrilt att få fram en siffra på vad hela verksamheten faktist förlorar om ingen kan jobba på en hel dag, men de slingrar sig. det är ju med denna siffra man enkelt kan bolla kostnader för redundans

Tack för all hjälp!

drar iväg ett framtida PM ifall jag fastnar med reverse proxy

Gör det, likväl om du vill ha hjälp med vad du ska skriva på listan som utrustning som behövs etc. eller andra frågor bara om ESXi eller liknande

Visa signatur

System: Corsair Obsidian 550D Midi Tower Svart || Corsair AX 850W PSU || Intel® Core i7-3770K Processor || ASUS P8P67-M || 2 x Intel® SSD 520 Series 180GB || Gigabyte GeForce GTX 670 2GB PhysX CUDA ||