Zástupné znaky DNS a dynamické subdomény

Ve svém volném čase (ha!) Jsem pracoval na zabalení Neomezená mapa divokých ptáků aplikace s podnikovou aplikací, která lidem umožní navrhnout vlastní vyhledávač obchodů. Vývoj mého vlastního řešení Software jako služba je mým cílem již několik let a je to skvělá příležitost.

Existují dvě klíčové funkce, které jsem chtěl dát do aplikace a které se stávají obrovskou výzvou, takže jsem o nich chtěl diskutovat v případě, že byste někdy chtěli udělat totéž. Obě funkce jsou v aplikacích běžné, ale přišel jsem na to, že i když jsou běžné, mnoho poskytovatelů hostingu je vlastně nepodporuje!

Mým cílem je vytvořit samoobslužnou aplikaci, kde si klient může konfigurovat svou vlastní subdoménu (http://subdomény.myapplicationdomain.com), nebo dokonce použít vlastní subdoménu (http://subdomény.vasadomena.cz). Aby to mohlo být samoobslužné, vyžaduje schopnost programovat řešení - ale přistupuje k některým konfiguračním souborům serveru názvů domén, které jsou u většiny hostitelských účtů omezené! Jde o podporu zástupných znaků DNS, tedy o možnost nasměrovat jakoukoli subdoménu na doménu serveru. Jinými slovy, test.domain.com nebo www.domain.com nebo any.domain.com všechny směřují na stejné místo. Bez ohledu na to, co píšete - bude to fungovat.

Mimo aplikace je to vlastně docela pěkná funkce, kterou jste povolili - dokonce i na vašem blogu. Umožnilo by to psát komukoli nic.vasadomena.cz a přivést je yourdomain.com. Byli byste překvapeni, kolik špatných odkazů odkazuje na váš blog nebo web. To by mohl být zmeškaný provoz, pokud osoba nerozpozná, že se jedná o chybu odkazu.

Tento proces funguje přepsáním subdomény na řetězec dotazu, než je stránka skutečně vykreslena webovým serverem ... takže subdomain.domain.com bude serverem Apache ve skutečnosti interpretován jako doména.com?what=subdomain pomocí souboru htaccess:

# Extrahujte část subdomény domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Zkontrolujte, zda část subdomény není www, ftp a mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Přesměrujte všechny požadavky na php skript procházející jako argument subdomény
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

K souborům, které potřebujete upravit, jsou některé další informace V-nessa.net. V závislosti na poskytovateli hostingu nemusí být soubory umístěny tam, kde je uvedeno. Můj poskytovatel hostingu ve skutečnosti velmi podporuje vměšování lidí, ale varují, že by to mohlo zrušit zákaznickou podporu. Kromě „hackování na vlastní riziko“ se vám také nebudou snažit pomoci.

Budu pracovat na vývoji zbytku aplikace, než abych se zavěsil na vývoj subdomény. Vlastně se chystám dát CakePHP výstřel, který lze použít jako rámec pro to!

Poslední poznámka, jsem trochu hacker v těchto věcech. Jsem požehnán vývojovými týmy při mé práci, abych to vyřešil. Sám jsem trochu nebezpečný. Jakákoli zpětná vazba a pomoc se cení!

3 Komentáře

  1. 1

    Skvělý. Když jsem byl na SliceHostu, použil jsem jmenný server svého registrátora se zástupným znakem DNS a nechal jsem nakonfigurovat Apache, aby poskytoval nenakonfigurované subdomény ze souborů běžných domén.

    Opravdu mě zaujalo podívat se na rámec CakePHP, ale váš odkaz je mrtvý 🙂

    CakePHP najdete na http://cakephp.ORG

  2. 3

Co si myslíte?

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.