[Domeinnaam router] 1 IP, meer webservers

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 07-05 21:52
Bestaat er een (budget) router die internet domeinnamen kan routen?

Ik wil namelijk een tweede webserver plaatsen achter 1 IP adres, waarbij een router bijvoorbeeld blabla1.nl doorstuurt naar webserver 1 en blabla2.nl + blabla3.nl doorstuurt naar webserver 2...

Ik wil wel dat alle websites gewoon op poort 80 te benaderen zijn.

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • Skaah
  • Registratie: Juni 2001
  • Niet online
Hiervoor heb je Apache2 met mod_proxy nodig op poort 80 van je IP. Dat kan niet met een simpele router, voor zover ik weet.

[rml][ Apache] 2 domeinen via 1 ADSL ip naar 2 webservers *[/rml]

[ Voor 21% gewijzigd door Skaah op 06-03-2005 12:07 ]


  • BCM
  • Registratie: November 2002
  • Laatst online: 09:26

BCM

Dit regelt je webserver zelf. (Virtualhosts) Je verwijst al je domeinen naar dezelfde IP en je webserver gaat van zelf naar de juiste site.
Wat voor een webserver gebruik je?

Cedo Nulli


  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 07-05 21:52
BCM schreef op zondag 06 maart 2005 @ 12:06:
Dit regelt je webserver zelf. (Virtualhosts) Je verwijst al je domeinen naar dezelfde IP en je webserver gaat van zelf naar de juiste site.
Wat voor een webserver gebruik je?
Ik denk dat jij iets anders bedoelt dan wat ik wil.

Ik wil juist dat de diverse domeinen naar verschillende webservers gaan in mijn netwerk. Niet dat verschillende websites op één webserver gehost worden..

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • internetinfo
  • Registratie: Oktober 2001
  • Laatst online: 03-05 20:15
Dan zal je een DNS server achter je router moeten zetten die intern ip's uit gaat delen.

  • DJ Adidas
  • Registratie: Juli 2000
  • Laatst online: 05-10-2025
Volgens mij bedoeld hij dat er een stuk intelligentie in de Router zit die ziet naar welke Webserver een request verzonden moet worden.
Dit om bv. bij uitval van Webserver 1 de websites van Webserver2 gewoon zonder problemen in de lucht te houden.

Het lijkt mij namelijk dat dit heel erg moeilijk tot "niet" mogelijk is. Tenzij je van die Router een Linux systeem maakt natuurlijk en daar de verschillende sites en hosts op definiërd.

B. Gates said: "640 should be enough for everyone." I think he meant 640 PB ;-)


  • Paul
  • Registratie: September 2000
  • Laatst online: 02-05 07:01
internetinfo schreef op zondag 06 maart 2005 @ 12:13:
Dan zal je een DNS server achter je router moeten zetten die intern ip's uit gaat delen.
Het kan zijn dat je het wat te kort hebt omschreven, maar is het uidelen van IP's geen zaak voor de DHCP-server?

Daarnaast staat DNS compleet los van dit verhaal, een router gaat niet een pakketje dat op poort 80 binnenkomt openbreken om te kijken of er toevallig een HTTP/1.1 request in staat om vervolgens zelf nogmaals de naam te resolven :)

Routers meppen gewoon binnenkomende pakketjes over de juiste interface weer naar buiten, al dan niet met een vorm van NAT er overheen.

Wat is de reden dat je 2 fysieke webservers wilt? Aangezien een router het niet kan (of je moet een pc maken die je verkeer route en zelf die pakketjes ontvangt en door mod_proxy gooit) zal al je binnenkomend verkeer op poort 80 naar 1 ip gestuurd worden.

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • Dr. Bean
  • Registratie: Juli 2000
  • Niet online
Je zult hiervoor toch echt meerdere externe IP-adressen moeten hebben.
Evt kun je, ook al is het niet echt een oplossing, in het geval van IIS als webserver, host headers kunnen gebruiken. Maar dat gebruik je binnen 1 domein, zodat verschillende subdomeinnamen doorlinken naar een andere site.
Het volgende kun je met IIS ook doen: Aan de hand van de variabele SERVER_NAME (uitlezen met bv ASP) dat domein doorlinken naar webserver2 vanuit webserver1. Nadeel: het verkeer gaat altijd via webserver1 (je koppelt op webserver1 die site dan aan een share van webserver2)
Kun je het net zo goed op 1 server zetten...

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 07-05 21:52
Paul Nieuwkamp schreef op zondag 06 maart 2005 @ 12:19:
[...]
Wat is de reden dat je 2 fysieke webservers wilt? Aangezien een router het niet kan (of je moet een pc maken die je verkeer route en zelf die pakketjes ontvangt en door mod_proxy gooit) zal al je binnenkomend verkeer op poort 80 naar 1 ip gestuurd worden.
Eigenlijk wil ik tijdelijk een tweede webserver plaatsen, die ergens aan het eind van het jaar gecolocate wordt. Ik wil de beide websites fysiek gescheiden houden van elkaar, zodat ik alleen maar die tweede webserver op hoef te pakken, en kan "colocaten"...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • MadMod
  • Registratie: December 2001
  • Laatst online: 02-05 14:02
Skaah schreef op zondag 06 maart 2005 @ 12:05:
Hiervoor heb je Apache2 met mod_proxy nodig op poort 80 van je IP. Dat kan niet met een simpele router, voor zover ik weet.

[rml][ Apache] 2 domeinen via 1 ADSL ip naar 2 webservers *[/rml]
Mensen wat doen we moeilijk, wat Skaah hier zegt klopt en werkt ook!

Wat je dus moet doen is een apache webserver installeren en met mod proxy de domeinen doorsturen naar het interne ip adres van de webserver die bij dat domein hoort.

In je router geef je dus aan dat poort 80 naar die bak met apache moet, en daarna zoekt je apache uit naar welke server dat pakketje moet.

Als je zoekt op google, GoT vind je genoeg websites en topic waarin omschreven staat hoe je dit moet doen.

Ik gebruik dit zelf ook, maar dan om de verschillende subdomeinen door te routen naar andere interne servers
Swerfer schreef op zondag 06 maart 2005 @ 12:26:
[...]

Eigenlijk wil ik tijdelijk een tweede webserver plaatsen, die ergens aan het eind van het jaar gecolocate wordt. Ik wil de beide websites fysiek gescheiden houden van elkaar, zodat ik alleen maar die tweede webserver op hoef te pakken, en kan "colocaten"...
Dit kan met mod proxy, het enigste wat je moet doen als je bak ge'colocate is, is de DNS verwijzig van het domein veranderen naar het ip adres dat je bij je colocate firma gekregen hebt.

[ Voor 25% gewijzigd door MadMod op 06-03-2005 12:34 ]


  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Swerfer schreef op zondag 06 maart 2005 @ 12:26:
[...]

Eigenlijk wil ik tijdelijk een tweede webserver plaatsen, die ergens aan het eind van het jaar gecolocate wordt. Ik wil de beide websites fysiek gescheiden houden van elkaar, zodat ik alleen maar die tweede webserver op hoef te pakken, en kan "colocaten"...
Misschien zou je dan, zolang het toch voor test doeleinden is, deze server op een andere poort kunnen laten luisteren ?

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


  • Paul
  • Registratie: September 2000
  • Laatst online: 02-05 07:01
Ik heb totaal geen ervaring met mod_proxy, maar als dat doet wat ik denk dat het doet kun jed at gewoon op server_thuis zetten, en die dingen door laten verwijzen naar server_colo.

Het enige wat je dan moet doen im server_colo daadwerkelijk te gaan colocaten is de DNS-records aanpassen aan het nieuwe ip, het ip van server_colo aanpassen en het ding bij je hoster in het rack schroeven :)

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • MadMod
  • Registratie: December 2001
  • Laatst online: 02-05 14:02
Paul Nieuwkamp schreef op zondag 06 maart 2005 @ 12:30:
Ik heb totaal geen ervaring met mod_proxy, maar als dat doet wat ik denk dat het doet kun jed at gewoon op server_thuis zetten, en die dingen door laten verwijzen naar server_colo.

Het enige wat je dan moet doen im server_colo daadwerkelijk te gaan colocaten is de DNS-records aanpassen aan het nieuwe ip, het ip van server_colo aanpassen en het ding bij je hoster in het rack schroeven :)
Precies :Y)

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 07-05 21:52
MadMod schreef op zondag 06 maart 2005 @ 12:28:
[...]

Dit kan met mod proxy, het enigste wat je moet doen als je bak ge'colocate is, is de DNS verwijzig van het domein veranderen naar het ip adres dat je bij je colocate firma gekregen hebt.
Het enige probleem is dat de webservers IIS draaien op windows bakkies...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • Dr. Bean
  • Registratie: Juli 2000
  • Niet online
Swerfer schreef op zondag 06 maart 2005 @ 12:41:
[...]

Het enige probleem is dat de webservers IIS draaien op windows bakkies...
Dan mag je mijn reply nog eens lezen. :Y)
Even googlen op een voorbeeldje ASP (of andere taal) servervariabelen uitlezen, en door de domeinnamen hierin uit te lezen, op de "hoofdwebserver" de site koppelen aan de share op server2.
Qua functionaliteit identiek aan mod_rewrite.
/edit: voorbeeldcode ASP/VBScript
Op een site in IIS een pagina aanmaken met de volgende inhoud:
code:
1
2
3
4
5
6
<%@ Language=VBScript %>
<%
        srvname = Request.ServerVariables("SERVER_NAME")
        response.redirect("http://" & srvname)
    end if
%>

Op een interne DNS server een A-record aanmaken met srvname (in principe is dit de domeinnaam zelf), en koppelen aan het IP-adres van de corresponderende webserver.
Ook kun je srvname in de code gewoon vervangen door een IP-adres, voor het gemak.
Dan krijg je ongeveer de volgende code:
code:
1
2
3
4
5
6
7
8
<%@ Language=VBScript %>
<%
        srvname = Request.ServerVariables("SERVER_NAME")
        if srvname= "domeinnaam1" then srvname= "192.168.0.2"
           else 
        response.redirect("http://" & srvname)
    end if
%>

Let wel: even lichtelijk uit het hoofd, ik heb momenteel geen toegang tot een omgeving waarin ik dit kan opzoeken/testen.

[ Voor 61% gewijzigd door Dr. Bean op 06-03-2005 13:14 . Reden: voorbeeldje erbij ]


  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 07-05 21:52
Bean schreef op zondag 06 maart 2005 @ 13:01:
[...]

code:
1
2
3
4
5
6
7
8
<%@ Language=VBScript %>
<%
        srvname = Request.ServerVariables("SERVER_NAME")
        if srvname= "domeinnaam1" then srvname= "192.168.0.2"
           else 
        response.redirect("http://" & srvname)
    end if
%>

Let wel: even lichtelijk uit het hoofd, ik heb momenteel geen toegang tot een omgeving waarin ik dit kan opzoeken/testen.
Ik ga deze methode eens proberen, en kijken of daar nog nadelen aan verbonden zijn.

Ik denk bijvoorbeeld dat ik daarmee niet meer de HTTP_REFERER server variable kan uitlezen, die ik toch wel gebruik in een webapplicatie. Deze HTTP_REFERER zou ik dan weer mee moeten geven aan de redirect link (http://192.168.0.2?ref=blahblah)...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • Dr. Bean
  • Registratie: Juli 2000
  • Niet online
Swerfer schreef op zondag 06 maart 2005 @ 13:30:
[...]

Ik ga deze methode eens proberen, en kijken of daar nog nadelen aan verbonden zijn.

Ik denk bijvoorbeeld dat ik daarmee niet meer de HTTP_REFERER server variable kan uitlezen, die ik toch wel gebruik in een webapplicatie. Deze HTTP_REFERER zou ik dan weer mee moeten geven aan de redirect link (http://192.168.0.2?ref=blahblah)...
Als je nu gebruik maakt van referers dan kun je dat gewoon erachter zetten. (voor 1 specifieke site wél referers, en de andere(n) niet: dan wordt het iets anders dan hieronder staat)
Dan wordt 't zoiets:
code:
1
2
3
4
5
6
7
8
9
<%@ Language=VBScript %>
<%
        srvname = Request.ServerVariables("SERVER_NAME")
        httpref= Request.ServerVariables("HTTP_REFERER")
        if srvname= "domeinnaam1" then srvname= "192.168.0.2"
           else 
        response.redirect("http://" & srvname & httpref)
    end if
%>


/edit 2: je zult voor die Referer wel even na moeten gaan welke waarde je server momenteel opgeeft, door een testpagina aan te maken.
Zie bv deze site http://www.mytravco.com/cgi-bin/servervar.asp De waarde van HTTP_REFERER is de complete URL, inclusief domein. Als dit zo is, dan zul je bovenstaande weer op een andere manier op moeten pakken.

[ Voor 39% gewijzigd door Dr. Bean op 06-03-2005 13:54 . Reden: foutje in de uitleg ]


  • DJSmiley
  • Registratie: Mei 2000
  • Laatst online: 16:52
Note: Ik ken IIS en vbscript niet, maar toch..

"Forward" je nu hier een http request naar een ander IP, of proxy je dat request nu?

Een (externe) client kan namelijk alleen de eerste server bereiken (die waar poort 80 naar toe geredirect wordt dmv portmapping). Als je de client nu keihard doorstuurt naar http://192.168.x.x dan werkt dat natuurlijk niet, tenzij dat VBScript ervoor zorgt dat de IIS de content blijft serven alleen het ZELF vanaf een locale client haalt.

MOD_PROXY heb ik ook gebruikt icm apache, werkt prima, een vhost kun je zo voorzien van een andere server of poort. Als je IIS ook op dezelfde bak wilt draaien zul je die dus op een andere poort moeten zetten en apache op poort 80.

Enige nadeel aan mod_proxy is dat alle lokale servers dan "1" client zien: overal het IP van de server waarop mod_proxy draait. Dus ook in de logs enz.
Mijn webmail (MDaemon) vond dat niet leuk, en ging zeiken met cookies op het moment dat er 2 of meer ingelogd zaten. Het waren 2 gebruikers, maar aangezien mdaemon slechts 1 IP zag snapte ie niet helemaal dat dat 2 aparte users waren.

Inmiddels is dat verleden tijd, ik heb m'n webmail richting poort 443 geschopt (https). Werkt beter, en meteen veiliger ;)

  • Dr. Bean
  • Registratie: Juli 2000
  • Niet online
DJSmiley schreef op zondag 06 maart 2005 @ 14:11:
[...]


Note: Ik ken IIS en vbscript niet, maar toch..

"Forward" je nu hier een http request naar een ander IP, of proxy je dat request nu?

Een (externe) client kan namelijk alleen de eerste server bereiken (die waar poort 80 naar toe geredirect wordt dmv portmapping). Als je de client nu keihard doorstuurt naar http://192.168.x.x dan werkt dat natuurlijk niet, tenzij dat VBScript ervoor zorgt dat de IIS de content blijft serven alleen het ZELF vanaf een locale client haalt.
Nu je het zegt...ik begin aan mezelf te twijfelen 8)7 Mijn voorbeeld is gebaseerd op forwarden...maar dat willen we niet. Ik moet even denken hoe het dan wél kan.
Gezien dat de TS geen Apache heeft (tenminste, dat maak ik op uit het verhaal) zal het via IIS moeten. Het lijkt me mogelijk, maar niet met mijn oplossing, da's duidelijk...
Wel is het zo als er intern via DNS een A-record wordt aangewezen, en die is hetzelfde aan de buitenkant, dan zou het moeten werken ('t blijft shit, want ik kan het nu zelf niet testen, maar ik wil 't wel weten :+ ) Maar op IP-basis is het meer dan waarschijnlijk dat 't niet gaat.
DJSmiley schreef op zondag 06 maart 2005 @ 14:37:
[...]
Kent IIS geen mod_proxy variant?? En anders kan TS ook alsnog apache installeren, en IIS gewoon naar een andere poort trappen.
Niet native, nee. Dan kom je uit op http://www.isapirewrite.com/ voor een IIS-versie van mod_proxy.
Verder kwam ik tijdens wat zoekwerk bij dit ding uit...misschien is dit ook iets (zij het wederom dat 't bepaalde kosten heeft)

[ Voor 141% gewijzigd door Dr. Bean op 06-03-2005 14:56 . Reden: mijn eigen bericht verkeerd geëdit...ik ben een klungel...kom maar, kom maar, kom maar :+ ]


  • DJSmiley
  • Registratie: Mei 2000
  • Laatst online: 16:52
Bean schreef op zondag 06 maart 2005 @ 14:35:
[...]

Nu je het zegt...ik begin aan mezelf te twijfelen 8)7 Mijn voorbeeld is gebaseerd op forwarden...maar dat willen we niet. Ik moet even denken hoe het dan wél kan.
Gezien dat de TS geen Apache heeft (tenminste, dat maak ik op uit het verhaal) zal het via IIS moeten. Het lijkt me mogelijk, maar niet met mijn oplossing, da's duidelijk...
Wel is het zo als er intern via DNS een A-record wordt aangewezen, en die is hetzelfde aan de buitenkant, dan zou het moeten werken ('t blijft shit, want ik kan het nu zelf niet testen, maar ik wil 't wel weten :+ ) Maar op IP-basis is het meer dan waarschijnlijk dat 't niet gaat.
Kent IIS geen mod_proxy variant?? En anders kan TS ook alsnog apache installeren, en IIS gewoon naar een andere poort trappen.
Pagina: 1