Wildcard DNS og Dynamic Subdomains

Í öllum mínum frítíma (ha!) Hef ég unnið að því að vefja inn Wild Birds Ótakmarkað kort forrit með fyrirtækjaforriti sem gerir fólki kleift að hanna sinn eigin verslunarmann. Að þróa minn eigin hugbúnað sem þjónustulausn hefur verið markmið mitt í allnokkur ár og þetta er frábært tækifæri.

Það eru tvö lykilatriði úr hillunni sem ég vildi setja í forritið sem reynast vera mikil áskorun svo ég vildi ræða þau ef þú ert einhvern tíma að gera það sama. Báðir eiginleikar eru algengir í öllum forritum, en ég er búinn að komast að því að þrátt fyrir að þeir séu algengir styðja margir hýsingaraðilar þær í raun ekki!

Markmið mitt er að byggja upp sjálfsafgreiðsluforrit þar sem viðskiptavinurinn getur stillt sitt eigið undirlén (http://undirlén.myapplicationdomain.com), eða jafnvel beita eigin undirléni (http://undirlén.þitt lén). Til þess að það sé sjálfsafgreiðsla þarf það getu til að forrita lausnina - en það fær aðgang að sumum stillingaskrám lénsnafna sem eru utan takmarkana með meirihluta hýsingarreikninga! Málið er stuðningur við Wildcard DNS, það er að geta bent hvaða undirlén á lén netþjónsins. Með öðrum orðum, test.domain.com eða www.domain.com eða any.domain.com benda allir á sama stað. Sama hvað þú skrifar - það gengur.

Utan forrita er þetta í raun ansi fínn eiginleiki til að hafa virkjað - jafnvel á blogginu þínu. Það myndi leyfa hverjum sem er að skrifa eitthvað.þitt lén og koma þeim til yourdomain.com. Það kæmi þér á óvart hversu margir slæmir krækjur eru sem benda á bloggið þitt eða vefsíðu. Það gæti farið framhjá umferð ef viðkomandi kannast ekki við að það sé villa í krækjunni.

Ferlið virkar með því að endurskrifa undirlénið í fyrirspurnarstreng áður en síðan er raunverulega veitt af vefþjóni ... svo subdomain.domain.com túlkar í raun af Apache netþjónum sem domain.com?what=subdomain með því að nota htaccess skrá:

# Dragðu úr undirlén hluta domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \ .Lénið þitt .com $ [NC]
 
# Athugaðu að undirlénið er ekki www og ftp og póstur
RewriteCond% 1! ^ (Www | ftp | póstur) $ [NC]
 
# Áframsenda allar beiðnir í php handrit sem fara sem rök undirlén
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Það eru nokkrar viðbótarupplýsingar um skrárnar sem þú þarft að breyta á V-nessa.net. Athugaðu að skrárnar eru hugsanlega ekki staðsettar þar sem þær eru tilgreindar, háð hýsingaraðila þínum. Hýsingaraðilinn minn styður í raun og veru fólk sem blandar sér inn en þeir vara við því að það geti ógilt stuðning viðskiptavina. Auk þess að „hakka á eigin ábyrgð“ munu þeir ekki heldur ná til hjálpar.

Ég ætla að vinna að því að þróa restina af forritinu frekar en að hanga á þróun undirlénanna. Ég ætla reyndar að gefa KakaPHP skot til að nota sem umgjörð fyrir það!

Síðasta athugasemd, ég er svolítið hakk á þessu efni. Ég er blessaður með þróunarteymi við vinnu mína til að átta mig á þessu efni. Sjálfur er ég svolítið hættulegur. Allar athugasemdir og hjálp eru vel þegnar!

3 Comments

  1. 1

    Mjög flott. Ég notaði reyndar nafnamiðlara skrásetjara míns með wildcard DNS þegar ég var hjá SliceHost og hafði Apache stillt til að þjóna óstilltum undirlénum úr venjulegu lénaskránni.

    Ég var virkilega forvitinn að skoða CakePHP rammann en linkurinn þinn er dauður 🙂

    CakePHP er að finna á http://cakephp.ORG

    • 2

      Ég var að hugsa um að fara skráningarleiðina líka, Alex. Það er frábær hugmynd - líklega besta leiðin til að takast á við þetta.

      Afsakið dauða hlekkinn - það er lagað núna.

  2. 3

Hvað finnst þér?

Þessi síða notar Akismet til að draga úr ruslpósti. Lærðu hvernig ummæli þín eru unnin.