Wildcard DNS en dynamische subdomeinen

In al mijn vrije tijd (ha!) Heb ik gewerkt om de Wild Birds onbeperkte kaart applicatie met een bedrijfstoepassing waarmee mensen hun eigen winkelzoeker kunnen ontwerpen. Het ontwikkelen van mijn eigen Software as a Service-oplossing is al een aantal jaren een doel van mij, en dit is een geweldige kans.

Er zijn twee belangrijke functies van de plank die ik in de applicatie wilde stoppen en die een enorme uitdaging blijken te zijn, dus ik wilde ze bespreken voor het geval je ooit hetzelfde wilt doen. Beide functies zijn gemeengoed in applicaties, maar ik ben erachter gekomen dat, hoewel ze alledaags zijn, veel hostingproviders ze niet echt ondersteunen!

Mijn doel is om een ​​selfservice-applicatie te bouwen waar de klant zijn eigen subdomein kan configureren (http://subdomeinen.mijnapplicatiedomein.com), of zelfs hun eigen subdomein toepassen (http://subdomeinen.uwdomein.com). Om self-service te zijn, vereist het de mogelijkheid om de oplossing te programmeren - maar het heeft toegang tot enkele configuratiebestanden van de domeinnaamserver die verboden zijn bij de meeste hostingaccounts! Het probleem is ondersteuning voor Wildcard DNS, dat wil zeggen om elk subdomein naar het domein van de server te kunnen verwijzen. Met andere woorden: test.domain.com of www.domain.com of any.domain.com verwijzen allemaal naar dezelfde plaats. Wat je ook schrijft, het zal werken.

Buiten applicaties is dit eigenlijk een best leuke functie om te hebben ingeschakeld - zelfs op je blog. Het zou iedereen toestaan ​​om te schrijven iets.uwdomein.com en breng ze naar yourdomain.com. Het zou je verbazen hoeveel slechte links er zijn die naar je blog of website verwijzen. Dat kan gemist verkeer zijn als de persoon niet herkent dat het een fout is met de link.

Het proces werkt door het subdomein te herschrijven naar een querystring voordat de pagina daadwerkelijk wordt weergegeven door de webserver ... dus subdomein.domein.com wordt door Apache-servers geïnterpreteerd als domein.com?what=subdomein door middel van een htaccess-bestand:

# Pak het subdomeingedeelte van domain.com uit
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Uwdomein \ .com $ [NC]
 
# Controleer of het subdomeingedeelte niet www en ftp en mail is
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Leid alle verzoeken om naar een php-script dat als argument het subdomein doorgeeft
RewriteRule ^. * $ Http://www.uwdomein.com/%1 [R, L]

Er is wat aanvullende informatie over de bestanden die u moet bewerken V-nessa.net. Houd er rekening mee dat de bestanden zich mogelijk niet op de opgegeven locaties bevinden, afhankelijk van uw hostingprovider. Mijn hostingprovider is eigenlijk een groot voorstander van inmenging van mensen, maar ze waarschuwen dat hierdoor de klantenondersteuning kan vervallen. Behalve 'hacken op eigen risico', zullen ze ook niet contact opnemen om u te helpen.

Ik ga werken aan de ontwikkeling van de rest van de applicatie in plaats van me te laten ophouden met de ontwikkeling van het subdomein. Ik ga echt geven CakePHP een shot om er als kader voor te gebruiken!

Laatste opmerking, ik ben een beetje een hack op dit spul. Ik ben gezegend met ontwikkelteams op mijn werk om dit uit te zoeken. In mijn eentje ben ik een beetje gevaarlijk. Alle feedback en hulp wordt op prijs gesteld!

3 reacties

  1. 1

    Heel cool. Ik gebruikte de naamserver van mijn registrar met jokerteken DNS toen ik bij SliceHost was, en had Apache geconfigureerd om niet-geconfigureerde subdomeinen van de reguliere domeinenbestanden te bedienen.

    Ik was echt geïntrigeerd om naar het CakePHP-framework te kijken, maar je link is dood 🙂

    CakePHP is te vinden op http://cakephp.ORG

  2. 3

Wat denk je?

Deze site gebruikt Akismet om spam te verminderen. Ontdek hoe uw reactiegegevens worden verwerkt.