[Apache2] Subdomains eerst NS registar gebruiken

Pagina: 1
Acties:

  • Xanland
  • Registratie: Oktober 2007
  • Laatst online: 16:07
Dag mede-GoT'ters,

Sinds kort ben ik mede-eigenaar van een VPS en heb daarbij ook de leuke taak gekregen om de vhosts, apache en bijbehorende meuk te regelen. (We hebben weliswaar Webmin, maar dat is ook niet alles).

Nu heb ik al een domein, mijn eigen ernaar toe geredirect via de NameServers. Alleen treed er nu een probleem op met de subdomeinen.
Elk subdomein wat ik aanmaak in mijn CP van de domein registar redirect automatisch naar (www.)domain.nl

Daarna ben ik gaan zoeken naar dat op te lossen in (uiteraard) Apache2. Tijdens mijn zoektocht heb ik onder andere gevonden dat er wildcards in de vhosts mogelijk zijn, wat ik overigens al wist - maar het was even weggezakt.
Alleen had ik dan mijn laatste probleem, hoe zorg ik ervoor dat die subdomeinen van de domain registar EERST worden gebruikt. Zo'n optie kon ik niet echt daar in vinden. Heb ook al iets met redirects geprobeerd te doen, maar ja - dat werkt dus ook niet, want je kan immers niet zeggen van: "héjoh, volg eerst eens de subdomeinen van de domain registar en dan mag je je pas hier melden".

Hoe hebben jullie dat voor elkaar gekregen, want zo'n situatie heb ik nog niet echt gehad en bij mijn normale hoster werkte het gewoon goed (logisch)...?

RobIII: Ik probeer als ik wil stoppen met mijn auto ook altijd de sigarettenaansteker, de airco, 3 radioknoppen en de binnenverlichting en dan de rem :P


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Leg eens uit wat je met redirects bedoelt. Het stukje 're' is me onduidelijk.

  • Xanland
  • Registratie: Oktober 2007
  • Laatst online: 16:07
Nu heb ik al een domein, mijn eigen ernaar toe geredirect via de NameServers. Alleen treed er nu een probleem op met de subdomeinen.
Elk subdomein wat ik aanmaak in mijn CP van de domein registar redirect automatisch naar (www.)domain.nl
Bedoel je deze... (hier bedoel ik dus dat je gewoon op (www.)domain.nl terechtkomt)
...Alleen had ik dan mijn laatste probleem, hoe zorg ik ervoor dat die subdomeinen van de domain registar EERST worden gebruikt. Zo'n optie kon ik niet echt daar in vinden. Heb ook al iets met redirects geprobeerd te doen, maar ja - dat werkt dus ook niet, want je kan immers niet zeggen van: "héjoh, volg eerst eens de subdomeinen van de domain registar en dan mag je je pas hier melden".
...of deze? :+ (hiero heb ik het over dat ze eerst de subdomeinen volgen van de domain registar)

Hoop dat dit iets duidelijker is! :)

RobIII: Ik probeer als ik wil stoppen met mijn auto ook altijd de sigarettenaansteker, de airco, 3 radioknoppen en de binnenverlichting en dan de rem :P


  • MadEgg
  • Registratie: Februari 2002
  • Laatst online: 16:01

MadEgg

Tux is lievvv

Apache bepaald helemaal niet wie er bij hem aan komt kloppen. De bezoeker vraagt bij de DNS-server het IP-adres van de server voor een bepaalde domeinnaam aan en gaat vervolgens bij dat IP-adres aankloppen en zegt 'hee, doe me eens de pagina die hoort bij domeinnaam dittemedat'. Als je in Apache instelt dat *.dittemedat.com een bepaalde website is zal hij altijd dezelfde geven, tenzij er een eerder is gelezen tussen de vhosts die een specifiek subdomein aanspreekt. In dat laatste geval zal die voorgaan.

De volgorde waarin de vhosts gedefinieerd worden is dan dus bepalend welke website geserveerd wordt.

[ Voor 9% gewijzigd door MadEgg op 25-12-2009 14:45 ]

Tja


  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Met MadEgg ^^

Het tonen van een website op basis van een hostnaam bestaat uit twee stappen:

1. in DNS: resolven van de hostnaam tot een IP adres
2. in de webserver op dat IP adres: resolven van de hostnaam tot een vhost

De eerste stap zorgt dat het verzoek bij jouw machine terechtkomt, het tweede zorgt ervoor dat jouw machine de juiste content teruggeeft.

Stap 1 kun je controleren met het commando "nslookup":
C:\>nslookup tweakers.net
Server:  dns.local
Address:  192.168.0.1

Non-authoritative answer:
Name:    tweakers.net
Address:  213.239.154.35
Dat laatste adres moet het IP adres van jouw server zijn als je 'tweakers.net' vervangt door jouw hostnaam.

Vervolgens hangt het inderdaad van de volgorde van de vhost-secties in je Apache httpd configuratie af welke website teruggeven wordt. Je wildcard moet je dus als laatste opnemen in de configuratie.

"Any sufficiently advanced technology is indistinguishable from magic."


  • Xanland
  • Registratie: Oktober 2007
  • Laatst online: 16:07
code:
1
2
3
4
5
6
7
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
<VirtualHost *:80>
ServerName www.essiw.nl
ServerAlias essiw.nl
DocumentRoot "/home/wisse/www/essiw.nl"
</VirtualHost>


Dit is wat ik nu in mijn config van apache.conf heb staan. Waar ik in de file 000-default van sites-enabled :80 bij de 1e 2 sterretjes toegevoegd (apache 2.2.8 btw) zodat hij geen errors gaf.
Nu gaat dit in principe wel goed, alle subdomeinen gaan nu naar /var/www/index.html (logisch, is standaard als niks matched). Andere domeinen hier naar toe met A en het IP van de VPS gezet gaan ook naar die standaard map.
Nu komt dus het laatste probleem. Ik heb een aantal records in mijn DNS van de domeinregistar ingesteld die naar andere IP's/CNAME's/etc. moeten verwijzen. Bijvoorbeeld mail.domain.nl naar google apps mail. Als ik die nu intyp in mijn browser, dan zou je denken: Ik ga mooi naar Google Apps login voor eigen domein.

Maar dat gebeurt nou juist niet, wat ik dus uiteraard wel wil hebben. Hoe is dat zeg maar op te lossen dat hij eerst alle DNS-records nakijkt bij de domain register, als matched voert hij die uit - en anders gaat hij naar de VPS c.q. nameservers...?

RobIII: Ik probeer als ik wil stoppen met mijn auto ook altijd de sigarettenaansteker, de airco, 3 radioknoppen en de binnenverlichting en dan de rem :P


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Xanland schreef op vrijdag 25 december 2009 @ 23:20:
code:
1
2
3
4
5
6
7
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
<VirtualHost *:80>
ServerName www.essiw.nl
ServerAlias essiw.nl
DocumentRoot "/home/wisse/www/essiw.nl"
</VirtualHost>


Dit is wat ik nu in mijn config van apache.conf heb staan. Waar ik in de file 000-default van sites-enabled :80 bij de 1e 2 sterretjes toegevoegd (apache 2.2.8 btw) zodat hij geen errors gaf.
Nu gaat dit in principe wel goed, alle subdomeinen gaan nu naar /var/www/index.html (logisch, is standaard als niks matched). Andere domeinen hier naar toe met A en het IP van de VPS gezet gaan ook naar die standaard map.
Lelijke config; /etc/apache2/sites-enabled/ is juist bedoelt zodat je geen virtualhosts meer hebt in je httpd.conf.
Nu komt dus het laatste probleem. Ik heb een aantal records in mijn DNS van de domeinregistar ingesteld die naar andere IP's/CNAME's/etc. moeten verwijzen. Bijvoorbeeld mail.domain.nl naar google apps mail. Als ik die nu intyp in mijn browser, dan zou je denken: Ik ga mooi naar Google Apps login voor eigen domein.

Maar dat gebeurt nou juist niet, wat ik dus uiteraard wel wil hebben. Hoe is dat zeg maar op te lossen dat hij eerst alle DNS-records nakijkt bij de domain register, als matched voert hij die uit - en anders gaat hij naar de VPS c.q. nameservers...?
Waarom zou Google voor jouw domeinnaam een VirtualHost toevoegen? ja VH is een apache-ding, ik weet t, maar dit geeft wel duidelijk aan waar het probleem ligt Je zult zelf wat moeten maken dat redirect naar Google. Dwz de domeinnaam verwijst naar jouw server, op jouw server zorg je er met een VirtualHost voor dat er een scriptje van jou wordt uitgevoerd, en dat scriptje stuurt een HTTP-header met een Location die je naar Google stuurt.

  • MadEgg
  • Registratie: Februari 2002
  • Laatst online: 16:01

MadEgg

Tux is lievvv

Ik weet niet hoeveel verschillende (sub)domeinen google host op een IP-adres/server-configuratie maar op zich zou je dan op zijn minst verwachten dat er een pagina van Google tevoorschijn komt. Apache serveert in ieder geval altijd een pagina, zelfs als hij de hostname niet kent. Het lijkt me onwaarschijnlijk dat Google dan jouw site als standaard serveert dus zit er ergens in de DNS-configuratie iets mis.

Als je in je DNS-server zowel een wildcard domeinnaam hebt ingesteld en een specifiek subdomein zou dat gewoon moeten werken; bij mijn weten maakt de volgorde bij de DNS-server niet uit, hoe specifieker hoe hogere prioriteit. Dus het enige wat ik me voor kan stellen is dat het oude adres nog gecached is. Als je op de command line nslookup draait, 'server jouw.dns.server.ip' intypt en vervolgens de betreffende subdomeinnaam aanvraagt, wat krijg je dan voor respons, en verschilt dat van het adres voor het hoofd(wildcard) domein?

Tja


  • Xanland
  • Registratie: Oktober 2007
  • Laatst online: 16:07
GlowMouse schreef op zaterdag 26 december 2009 @ 00:37:
Waarom zou Google voor jouw domeinnaam een VirtualHost toevoegen? ja VH is een apache-ding, ik weet t, maar dit geeft wel duidelijk aan waar het probleem ligt Je zult zelf wat moeten maken dat redirect naar Google. Dwz de domeinnaam verwijst naar jouw server, op jouw server zorg je er met een VirtualHost voor dat er een scriptje van jou wordt uitgevoerd, en dat scriptje stuurt een HTTP-header met een Location die je naar Google stuurt.
Google zou dat doen omdat ik Google Apps gebruik, dan is het wat makkelijker enzo om mijn mail te bereiken dan een überlang adres. ;)
MadEgg schreef op zondag 27 december 2009 @ 11:32:
Als je in je DNS-server zowel een wildcard domeinnaam hebt ingesteld en een specifiek subdomein zou dat gewoon moeten werken; bij mijn weten maakt de volgorde bij de DNS-server niet uit, hoe specifieker hoe hogere prioriteit. Dus het enige wat ik me voor kan stellen is dat het oude adres nog gecached is. Als je op de command line nslookup draait, 'server jouw.dns.server.ip' intypt en vervolgens de betreffende subdomeinnaam aanvraagt, wat krijg je dan voor respons, en verschilt dat van het adres voor het hoofd(wildcard) domein?
Het domein domain.nl heeft 3 NS's setup naar mijn VPS bij die hoster. Als ik een nslookup doe naar domain.com dan klopt dat gewoon, krijg ik het IP van mijn VPS, maar bij een subdomein ook. Want ik heb nu een subdomein test.domain.nl (via de de (domain registar) Webreus, want daar staat ons domein + CP om CNAME's/A's/etc.etc. te beheren) als test naar een heel ander domein gestuurd (temp mijn eigen site). Als ik die nslookup daarna toe doe, kom ik ook op mijn VPS uit. Daar wil ik dus juist dat die dus naar temp mijn eigen site verwijst.

Dus wat doe ik nu fout...? (Als extra: Want bij een andere hoster met plesk, die op dezelfde server staat en deels ook het zelfde situatie is, maar waar het wel goed gaat. (D.w.z. dat als ik een subdomein aanmaak, hij wel goed verwijst - logisch, want die heeft gewoon toegang tot de apache configs.)

RobIII: Ik probeer als ik wil stoppen met mijn auto ook altijd de sigarettenaansteker, de airco, 3 radioknoppen en de binnenverlichting en dan de rem :P


  • MadEgg
  • Registratie: Februari 2002
  • Laatst online: 16:01

MadEgg

Tux is lievvv

Je zegt zelf al dat het bij de DNS-lookups misgaat. Dit is dus niet een probleem van de Apache-config maar van de DNS-instellingen. Apache kan hier simpelweg niets aan veranderen want bezoekers komen al bij Apache uit terwijl dat niet de bedoeling is. Voordat iemand daar iets over kan zeggen zul je iets meer details over je DNS-setup moeten geven.

De andere mogelijkheid is hierboven al genoemd. Je maakt een nieuwe vhost aan in Apache voor je subdomein test.domein.nl en zet daar in de index.htm een redirect mbv http-equiv of javascript naar Google of wat dan ook.

Tja


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Volgens mij wil je:
mail.essiw.nl -> google
bla.essiw.nl -> iets anders
*.essiw.nl -> jouw server?

Dat kan gewoon. Op die manier invoeren in je nameserver. De specifieke namen gaan voor op je wildcard. Bij Google instellen dat je je mail zo benadert en dan krijg je netjes een google login pagina voor je neus.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Xanland
  • Registratie: Oktober 2007
  • Laatst online: 16:07
MadEgg schreef op zondag 27 december 2009 @ 18:04:
Je zegt zelf al dat het bij de DNS-lookups misgaat. Dit is dus niet een probleem van de Apache-config maar van de DNS-instellingen. Apache kan hier simpelweg niets aan veranderen want bezoekers komen al bij Apache uit terwijl dat niet de bedoeling is. Voordat iemand daar iets over kan zeggen zul je iets meer details over je DNS-setup moeten geven.
Ok, dit geeft mij al meer duidelijkheid. :) Dus het probleem kan bijvoorbeeld ook bij webreus zitten (ook bij verkeerd configged nameservers aan onze kant of niet....?) dat die een foutje maakt.
Elke detail die je over de (D)NS-setup wil weten, moet je maar vragen - want hier is in principe niks geheims aan. :P
CyBeR schreef op zondag 27 december 2009 @ 18:10:
Volgens mij wil je:
mail.essiw.nl -> google
bla.essiw.nl -> iets anders
*.essiw.nl -> jouw server?

Dat kan gewoon. Op die manier invoeren in je nameserver. De specifieke namen gaan voor op je wildcard. Bij Google instellen dat je je mail zo benadert en dan krijg je netjes een google login pagina voor je neus.
Ja, dat wil ik in principe, maar kennelijk gaat er iets fout bij Webreus dus of is er iets verkeerd configged in de nameservers. Die zijn btw niet in ons beheer, gewoon bij de hoster (info daarover is ook evt beschikbaar).

[ Voor 3% gewijzigd door Xanland op 27-12-2009 21:26 ]

RobIII: Ik probeer als ik wil stoppen met mijn auto ook altijd de sigarettenaansteker, de airco, 3 radioknoppen en de binnenverlichting en dan de rem :P


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Xanland schreef op zondag 27 december 2009 @ 21:25:
[...]
Ok, dit geeft mij al meer duidelijkheid. :) Dus het probleem kan bijvoorbeeld ook bij webreus zitten (ook bij verkeerd configged nameservers aan onze kant of niet....?) dat die een foutje maakt.
Elke detail die je over de (D)NS-setup wil weten, moet je maar vragen - want hier is in principe niks geheims aan. :P
[...]
Ja, dat wil ik in principe, maar kennelijk gaat er iets fout bij Webreus dus of is er iets verkeerd configged in de nameservers. Die zijn btw niet in ons beheer, gewoon bij de hoster (info daarover is ook evt beschikbaar).
Ik zie een wildcard erin zitten (uitgaande van essiw.nl), en verder eigenlijk niets dat ik kan vinden. Je moet dus even aan webreus vragen hoe ze regelen dat gedefinieerde labels wildcardlabels overriden.

All my posts are provided as-is. They come with NO WARRANTY at all.

Pagina: 1