Wildcard DNS და Dynamic Subdomains

მთელ ჩემს თავისუფალ დროს (ჰა!) ვმუშაობდი შეფუთვაზე ველური ჩიტების შეუზღუდავი რუკა პროგრამა საწარმოს პროგრამასთან, რომელიც საშუალებას მისცემს ხალხს შეიმუშაონ საკუთარი მაღაზიის ლოკატორი. საკუთარი პროგრამული უზრუნველყოფის, როგორც სერვისული გადაწყვეტის შემუშავება, ჩემი მიზანი იყო რამდენიმე წლის განმავლობაში და ეს შესანიშნავი შესაძლებლობაა.

თაროდან არსებობს ორი ძირითადი მახასიათებელი, რომელთა გადატანა მსურდა აპლიკაციაში, რაც უზარმაზარი გამოწვევა აღმოჩნდა, ამიტომ მსურდა მათი განხილვა იმ შემთხვევაში, თუ თქვენ ოდესმე ეძებდით იგივე საქმის გაკეთებას. ორივე მახასიათებელი ჩვეულებრივ აპლიკაციებშია, მაგრამ მე გავერკვიე, რომ მიუხედავად იმისა, რომ ისინი ჩვეულებრივია, ჰოსტინგის მრავალი პროვაიდერი მათ ნამდვილად არ უჭერს მხარს!

ჩემი მიზანია თვითმომსახურების პროგრამის შექმნა, სადაც კლიენტს შეეძლება შექმნას საკუთარი ქვედომენი (http://ქვედანაყოფი.myapplicationdomain.com), ან თუნდაც გამოიყენონ საკუთარი ქვედომენი (http://ქვედანაყოფი.yourdomain.com) იმისათვის, რომ ეს იყოს თვითმომსახურება, ის მოითხოვს პროგრამირების შესაძლებლობას - მაგრამ ის წვდომას ახდენს დომენის სახელის სერვერის კონფიგურაციის ზოგიერთ ფაილზე, რომლებიც შეზღუდულია ჰოსტინგის ანგარიშების უმრავლესობით! საქმე ეხება Wildcard DNS– ს მხარდაჭერას, ანუ სერვერის დომენის მითითების შესაძლებლობა. სხვა სიტყვებით რომ ვთქვათ, test.domain.com ან www.domain.com ან any.domain.com ყველა ერთსა და იმავე ადგილზე მიუთითებს. რაც არ უნდა დაწერო - ის გამოდგება.

პროგრამების მიღმა, ეს საკმაოდ ლამაზი ფუნქციაა, რომელიც ჩართულია - თქვენს ბლოგზეც კი. ეს საშუალებას მისცემს ნებისმიერს დაწერონ არაფერი.yourdomain.com და მიიყვანე ისინი yourdomain.com. თქვენ გაგიკვირდებათ, თუ რამდენი ცუდი ბმულია თქვენს ბლოგზე ან ვებსაიტზე. ეს შეიძლება გამოტოვოთ ტრაფიკი, თუ ადამიანი არ ცნობს, რომ ეს შეცდომაა ბმულზე.

პროცესი მუშაობს ქვედომედის გადაკითხვით სტრიქონის სტრიქონზე, სანამ ვებგვერდი ფაქტობრივად გაეწევა ვებგვერდს sub ასე რომ, subdomain.domain.com რეალურად განიმარტება Apache სერვერების მიერ, როგორც domain.com? What=subdomain htaccess ფაილის გამოყენებით:

# ამოიღეთ domain.com ქვედომენის ნაწილი
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# შეამოწმეთ, რომ ქვედომენის ნაწილი არ არის www და ftp და ფოსტა
RewriteCond% 1! ^ (Www | ftp | ფოსტა) $ [NC]
 
# ყველა მოთხოვნის გადამისამართება php სკრიპტზე, რომელიც გადადის ქვედომენის არგუმენტად
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

აქ არის დამატებითი ინფორმაცია იმ ფაილების შესახებ, რომელთა რედაქტირება გჭირდებათ V-nessa.net. გაითვალისწინეთ, რომ ფაილები შეიძლება არ განთავსდეს იქ, სადაც მითითებულია თქვენი ჰოსტინგის პროვაიდერის მიხედვით. ჩემი ჰოსტინგის პროვაიდერი ხელს უწყობს ხალხის ჩარევას, მაგრამ ისინი აფრთხილებენ, რომ ამით მომხმარებელთა მხარდაჭერა შეიძლება გაუქმდეს. ისევე როგორც "გატეხეთ საკუთარი რისკის ქვეშ", ისინი არც აპირებენ დახმარებას.

მე ვაპირებ ვიმუშაო დანარჩენი პროგრამის შემუშავებაზე, ვიდრე შევაჩერო ხელი ქვედომედის განვითარებას. მე რეალურად ვაპირებ მისცემას CakePHP კადრი, რომელიც უნდა გამოიყენოთ მის ჩარჩოებად!

ბოლო შენიშვნა, მე ცოტა გატეხილი ვარ ამ საკითხებზე. მე დალოცა განვითარების ჯგუფები ჩემს მუშაობაში, რომ გაერკვნენ ამ საკითხზე. საკუთარ თავზე, მე ცოტა საშიში ვარ. ნებისმიერი გამოხმაურება და დახმარება დასაფასებელია!

3 კომენტარები

  1. 1

    Very cool. I actually used my registrar’s name server with wildcard DNS when I was with SliceHost, and had Apache configured to serve unconfigured subdomains from the regular domains files.

    მე ნამდვილად მაინტერესებდა CakePHP ჩარჩოს დათვალიერება, მაგრამ თქვენი ბმული მკვდარია

    CakePHP შეგიძლიათ იხილოთ აქ http://cakephp.ORG

  2. 3

ეს საიტი იყენებს Akismet- ს, რათა შეამციროს სპამი. შეისწავლეთ თქვენი კომენტარის მონაცემები დამუშავებული.