Zamjenski DNS i dinamičke poddomene

U svo svoje slobodno vrijeme (ha!), Radio sam na umotavanju Neograničena karta divljih ptica aplikacija s poslovnom aplikacijom koja će omogućiti ljudima da osmisle vlastiti lokator trgovina. Razvoj vlastitog rješenja kao softverskog rješenja moj je cilj već nekoliko godina, a ovo je izvrsna prilika.

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

Cilj mi je izgraditi samoposlužnu aplikaciju u kojoj klijent može konfigurirati vlastitu poddomenu (http://poddomena.myapplicationdomain.com), ili čak primijeniti vlastiti poddomen (http://poddomena.vašadomena.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 računa hostinga! Problem je u podršci zamjenskog DNS-a, odnosno mogućnosti usmjeravanja bilo koje poddomene na domenu poslužitelja. Drugim riječima, test.domain.com ili www.domain.com ili any.domain.com svi upućuju 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 ništa.vašadomena.com i dovesti ih do yourdomain.com. Iznenadili biste se koliko loših veza postoji do vašeg bloga ili web stranice. Promet bi mogao propustiti ako osoba ne prepozna da je riječ o pogrešci s vezom.

Proces funkcionira prepisivanjem poddomene u niz upita prije nego što web poslužitelj stvarno generira stranicu ... tako da poddomena.domena.com Apache poslužitelji zapravo tumače kao domenu.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 davatelju 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 poddomene. 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 po sebi, malo sam opasna. Cijenimo bilo kakve povratne informacije i pomoć!

3 Komentari

  1. 1

    Jako cool. Zapravo sam koristio poslužitelj imena svog registra s zamjenskim DNS-om dok sam bio sa SliceHost-om i konfigurirao sam Apache da poslužuje nekonfigurirane poddomene iz datoteka redovnih domena.

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

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

  2. 3

Što vi mislite?

Ova web stranica koristi Akismet za smanjenje neželjene pošte. Saznajte kako se podaci vašeg komentara obrađuju.