Apache Vhost configuration
Ik heb een vraag/probleem en weet zo niet hoe ik het moet zoeken.
Ik draai een Windows Server 2008 systeem met Apache.
Ik gebruik hiervoor Vhost omdat ik meerder website run op 1 server.
Nu is het zo dat ik een 2de server erbij neem en wilde dus 1 website naar die server sturen.
Het principe is als volgt.
www.site1.nl gaat naar ->Wan Ip.
www.site2.nl gaatn naar ->Wan Ip.
site1 blijft doormiddel van Vhost op server1.
site2 moet doormiddel van Vhost naar server2 gestuurd worden
Server1 zit rechstreeks op het internet aangesloten
Server2 is op Server1 aangesloten en heeft een intern ip-adres
Hoe kan ik dit het beste aanpakken met Vhost?
Dit is wat ik nu heb en wat dus niet werkt.
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "F:/site1"
ServerAlias www.site1.nl site1.nl
</VirtualHost>
<VirtualHost 192.168.137.64:80>
DocumentRoot "C:/site2"
ServerAlias www.site2.nl site2.nl
</VirtualHost>
Zoek op "configure Apache vhost on Windows" en je krijgt een waslijst aan tutorials.
Vhosts werkt met Apache. Dus als je naar een andere server gaat heb je daar ook Apache nodig lijkt mij. Het verwijzen naar de juiste server doe je met DNS.
Oke heb het geprobeerd met DNS maar ook dat werkt niet.
Heb gekeken naar sommige tutorials maar krijg het niet voor elkaar om het naar een ander ip adres te sturen.
Dit is hoe ik mijn Virtual host heb met apache en volgens sommige dient het te werken.
Reminder
ook op mijn 2de server staat apache op en werkt.
NamevirtualHost *:80
<VirtualHost>
ServerAdmin [email protected]
ServerName pandoraflyff.com
ServerAlias www.pandoraflyff.com pandoraflyff.com
DocumentRoot "F:/Server/htdocs/pandoraflyff.com"
</VirtualHost>
<VirtualHost 192.168.137.6:80>
ServerAdmin [email protected]
ServerName azureflyff.com
ServerAlias www.azureflyff.com azureflyff.com
</VirtualHost>
Zodra ik naar www.azureflyff.com ga dan redirect die me niet naar mijn andere server
maar laat me de eerste website zien.
Kan iemand me toch in de goede richting duwen.
Gewijzigd op 10/12/2012 15:02:07 door thomas de vries
Je zegt nu dat Apache op het IP van de andere server moet luisteren naar azureflyff.com, dus vandaar dat ie naar de standaard gaat.
Apache is een webservice en geen netwerkservice.
Toevoeging op 10/12/2012 15:49:41:
eerder is ook al eens deze discussie gevoerd alleen de TS bestaat niet meer (???) http://www.phphulp.nl/php/forum/topic/port-forwarding-server-2008/87939/1/
Gewijzigd op 10/12/2012 16:10:38 door John D
Ja inderdaad op de server zitten meerdere netwerk kaarten.
Toch zou het dienen te werken zelfde als met een router naar mijn idee.
Op de router zit het wanIp en vanuit daaruit wordt alles wat binnen komt op poort 80 gegooid.
die vervolgens naar server1 gaat. Dan moet het alsnog van server 1 naar server 2 gaan.
Is dat niet het geval dan is server 1 de gateway met internet, en moet je daar de routing gaan regelen. Dus zal je dan wat aanvullende software nodig hebben.
Dus in feite zou ik dus toch dienen te werken met DNS op de server?
Ik zal nogmaals gaan kijken hoe ik dit toch het beste kan aanpakken. Bedankt voor de reacties
Wat je ook kunt doen is bij je provider een extra ip adres aanvragen, dat maakt je routing een stuk simpeler.
PS.
routing is een service in server 2008, je moet dit dan activeren en configureren.
www.site1.nl en www.site2.nl enzovoort. Je kan in de gateway van 2008 ook port forwarden maar dat geldt dan voor een poort die binnenkomt, bijvoorbeeld 8080 port forwarden naar 80 op server2. Het is niet zo dat server1 ervoor kan zorgen dat wanneer er een call binnenkomt voor www.site2.nl op poort 80 dat doorgestuurd wordt van server1 naar server2 en dat wanneer een call binnenkomt voor www.site1.nl op poort 80 dat dat dan binnen server1 wordt afgehandeld. Zo zit netwerkarchitectuur niet in elkaar dues het kan niet, zo simpel is dat.
Dus in feite zou ik dus toch dienen te werken met DNS op de server?
NEEN, een DNS is voor de caller, dus diegene die een oproep pleegt en niet voor het netwerk waar de oproep binnenkomt. Het kan dus niet wat je wil. Een oplossing is het advies van Ger: een extra ip-adres.
routing is een service in server 2008, je moet dit dan activeren en configureren echter dat geldt dan voor ip adressen en niet voor Dus in feite zou ik dus toch dienen te werken met DNS op de server?
NEEN, een DNS is voor de caller, dus diegene die een oproep pleegt en niet voor het netwerk waar de oproep binnenkomt. Het kan dus niet wat je wil. Een oplossing is het advies van Ger: een extra ip-adres.
Ik zal de ISP contacteren en bespreken wat de mogelijkheden zijn hierin.
In DNS kun je www.site2.nl gewoon het IP-adres van server1 laten behouden, maar je moet wel ergens een intern.site2.nl aanmaken met het interne IP-adres vcan server2. Dat kan in DNS, maar is misschien handiger in de lokale host-file van server1.
Vervolgens doe je op server1 iets als:
<VirtualHost *:80>
DocumentRoot "C:/legemap"
ServerAlias www.site2.nl site2.nl
ProxyPass / http://intern.site2.nl/
ProxyPassReverse / http://intern.site2.nl/
</VirtualHost>
Uiteraard moet op server2 dan ook een webserver draaien. Dat hoeft niet eens Apache te zijn.
Toevoeging op 28/12/2012 18:13:21:
Thomas de vries op 10/12/2012 16:22:24:
Ja inderdaad op de server zitten meerdere netwerk kaarten.
Toch zou het dienen te werken zelfde als met een router naar mijn idee.
Op de router zit het wanIp en vanuit daaruit wordt alles wat binnen komt op poort 80 gegooid.
die vervolgens naar server1 gaat. Dan moet het alsnog van server 1 naar server 2 gaan.
Toch zou het dienen te werken zelfde als met een router naar mijn idee.
Op de router zit het wanIp en vanuit daaruit wordt alles wat binnen komt op poort 80 gegooid.
die vervolgens naar server1 gaat. Dan moet het alsnog van server 1 naar server 2 gaan.
Wat je hier beschrijft is port forwarding. In dat geval zou je op server1 een ongebruikte poort (bijvoorbeeld 81) kunnen doorsturen naar poort 80 op server2. Ik weet alleen niet of een standaard Windows-server dat ondersteunt (zou zomaar kunnen dat je dan een ISA-server of zo nodig hebt) maar feitelijk maak je site2 daarmee onwerkbaar, omdat de gewone gebruiker niet weet dat hij verbinding moet maken met poort 81 om je site te bekijken.
Reverse proxying lijkt me dan toch de aangewezen methode; je kunt daarmee honderden sites verdelen over verschillende interne servers en die allemaal via je ene extern bereikbare server benaderen.