Zamjenski DNS i dinamičke poddomene

U svo svoje slobodno vrijeme (ha!), Radio sam na umotavanju Neograničena mapa divljih ptica aplikacija s poslovnom aplikacijom koja će omogućiti ljudima da sami dizajniraju svoj lokator trgovina. Razvoj vlastitog rješenja kao uslužnog rješenja moj je cilj već nekoliko godina, a ovo je sjajna prilika.

Dvije su ključne značajke s police koje sam želio staviti u aplikaciju, a koje se ispostavljaju kao veliki izazov, pa sam želio razgovarati o njima u slučaju da ikada želite učiniti isto. Obje su funkcije uobičajene u svim aplikacijama, ali saznao sam da ih, iako su uobičajene, mnogi pružatelji usluga hostinga zapravo ne podržavaju!

Moj cilj je izgraditi samoposlužnu aplikaciju u kojoj klijent može konfigurirati vlastiti poddomen (http://poddomen.myapplicationdomain.com), ili čak primijeniti vlastiti poddomen (http://poddomen.yourdomain.com). Da bi bilo samoposlužno, potrebna mu je mogućnost programiranja rješenja, ali pristupa nekim konfiguracijskim datotekama poslužitelja imena domena koje su zabranjene za većinu hosting računa! Problem je podrška za Wildcard DNS, odnosno mogućnost usmeravanja bilo koje poddomene na domenu servera. Drugim riječima, test.domain.com ili www.domain.com ili any.domain.com svi ukazuju na isto mjesto. Bez obzira što napisali - to će uspjeti.

Izvan aplikacija, ovo je zapravo prilično lijepa značajka koju ste omogućili - čak i na vašem blogu. To bi svima omogućilo da pišu bilo šta.yourdomain.com i dovedite ih do yourdomain.com. Iznenadili biste se koliko loših veza postoji do vašeg bloga ili web stranice. Promet bi mogao biti propušten ako osoba ne prepozna da je u pitanju greška u vezi.

Proces radi prepisivanjem poddomene u niz upita prije nego što web poslužitelj stvarno generira stranicu ... tako da poddomena.domena.com Apache serveri zapravo tumače kao domain.com?what=subdomain pomoću datoteke htaccess:

# Izdvojite dio poddomene domene.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Provjerite da dio poddomene nije www i ftp i mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Preusmjerite sve zahtjeve na php skriptu koja prolazi kao argument poddomene
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Postoje neke dodatne informacije o datotekama na kojima trebate urediti V-nessa.net. Imajte na umu da se datoteke možda neće nalaziti tamo gdje je to određeno, ovisno o vašem pružatelju usluge hostinga. Moj davatelj usluga hostinga zaista podržava miješanje ljudi, ali upozoravaju da bi to moglo ukinuti korisničku podršku. Osim što će 'hakirati na vlastiti rizik', ni oni vam neće pružiti pomoć.

Radit ću na razvoju ostatka aplikacije, umjesto da se prekinem s razvojem poddomena. Zapravo ću dati CakePHP snimak koji će se koristiti kao okvir za to!

Posljednja napomena, pomalo sam hakiran u ovim stvarima. Blagoslovljen sam razvojnim timovima na svom poslu da shvatim ove stvari. Sama sam pomalo opasna. Cijenimo bilo kakve povratne informacije i pomoć!

3 Komentari

  1. 1

    Veoma cool. Zapravo sam koristio server imena svog registra sa zamjenskim DNS-om dok sam bio sa SliceHost-om i konfigurirao sam Apache da poslužuje nekonfigurirane poddomene iz datoteka uobičajenih domena.

    Stvarno me zaintrigiralo pogledati CakePHP okvir, ali vaša veza je mrtva 🙂

    CakePHP možete pronaći na http://cakephp.ORG

  2. 3

Šta ti misliš?

Ova stranica koristi Akismet kako bi smanjila neželjenu poštu. Saznajte kako se podaci vašeg komentara obrađuju.