Wildcard DNS και Dynamic Subdomains

Σε όλο τον ελεύθερο χρόνο μου (χα!), Δουλεύω για να τυλίξω το Απεριόριστος χάρτης Wild Birds εφαρμογή με εταιρική εφαρμογή που θα επιτρέπει στους λαούς να σχεδιάζουν το δικό τους κατάστημα εντοπισμού. Η ανάπτυξη του δικού μου Λογισμικού ως λύσης Υπηρεσίας ήταν στόχος μου εδώ και αρκετά χρόνια, και αυτή είναι μια μεγάλη ευκαιρία.

Υπάρχουν δύο βασικά χαρακτηριστικά από το ράφι που ήθελα να βάλω στην εφαρμογή που αποδεικνύονται ότι είναι μια τεράστια πρόκληση, γι 'αυτό ήθελα να τα συζητήσω σε περίπτωση που ποτέ θέλετε να κάνετε το ίδιο. Και οι δύο λειτουργίες είναι κοινές σε όλες τις εφαρμογές, αλλά έχω ανακαλύψει ότι παρόλο που είναι συνηθισμένες, πολλοί πάροχοι φιλοξενίας δεν τις υποστηρίζουν πραγματικά!

Ο στόχος μου είναι να δημιουργήσω μια εφαρμογή αυτοεξυπηρέτησης όπου ο πελάτης μπορεί να διαμορφώσει τον δικό του υποτομέα (http://υποτομέα.myapplicationdomain.comή ακόμα και να εφαρμόσουν τον δικό τους υποτομέα (http://υποτομέα. yourdomain.com). Για να είναι αυτοεξυπηρέτηση, απαιτεί τη δυνατότητα προγραμματισμού της λύσης - αλλά έχει πρόσβαση σε ορισμένα αρχεία διαμόρφωσης διακομιστή ονομάτων τομέα που είναι εκτός ορίου με την πλειονότητα των λογαριασμών φιλοξενίας! Το ζήτημα είναι η υποστήριξη για το Wildcard DNS, δηλαδή να είναι σε θέση να υποδεικνύει οποιονδήποτε υποτομέα στον τομέα του διακομιστή. Με άλλα λόγια, test.domain.com ή www.domain.com ή any.domain.com όλα δείχνουν στο ίδιο μέρος. Δεν έχει σημασία τι γράφετε - θα λειτουργήσει.

Εκτός των εφαρμογών, αυτό είναι πραγματικά ένα πολύ ωραίο χαρακτηριστικό που έχει ενεργοποιηθεί - ακόμη και στο ιστολόγιό σας. Θα επέτρεπε σε οποιονδήποτε να γράψει οτιδήποτε. yourdomain.com και να τους φέρετε yourdomain.com. Θα εκπλαγείτε από τον αριθμό των κακών συνδέσμων που οδηγούν στο ιστολόγιο ή στον ιστότοπό σας. Αυτό θα μπορούσε να χάσει την κυκλοφορία εάν το άτομο δεν αναγνωρίζει ότι είναι σφάλμα με τον σύνδεσμο.

Η διαδικασία λειτουργεί με την επανεγγραφή του υποτομέα σε μια συμβολοσειρά ερωτημάτων πριν από την πραγματική απόδοση της σελίδας από τον διακομιστή ιστού… οπότε το subdomain.domain.com ερμηνεύεται από τους διακομιστές Apache ως domain.com?what=subdomain μέσω της χρήσης ενός αρχείου htaccess:

# Εξαγάγετε το τμήμα υποτομέα του domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Ελέγξτε ότι το τμήμα του υποτομέα δεν είναι www και ftp και αλληλογραφία
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Ανακατευθύνετε όλα τα αιτήματα σε ένα σενάριο php που περνά ως όρισμα ο υποτομέας
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Υπάρχουν μερικές επιπλέον πληροφορίες σχετικά με τα αρχεία στα οποία πρέπει να επεξεργαστείτε V-nessa.net. Σημειώστε ότι τα αρχεία ενδέχεται να μην βρίσκονται εκεί που καθορίζεται ανάλογα με τον πάροχο φιλοξενίας σας. Ο πάροχος φιλοξενίας μου στην πραγματικότητα υποστηρίζει πολύ τους ανθρώπους που παρεμβαίνουν, αλλά προειδοποιούν ότι κάτι τέτοιο μπορεί να ακυρώσει την υποστήριξη των πελατών. Εκτός από το «hack με δική σας ευθύνη», ούτε πρόκειται να σας βοηθήσουν.

Θα δουλέψω για την ανάπτυξη της υπόλοιπης εφαρμογής, αντί να κλείσω την ανάπτυξη του υποτομέα. Στην πραγματικότητα πρόκειται να δώσω CakePHP ένα πλάνο για χρήση ως πλαίσιο!

Τελευταία σημείωση, είμαι λίγο χακαρισμένος σε αυτά τα πράγματα. Είμαι ευλογημένος με τις ομάδες ανάπτυξης στη δουλειά μου για να το καταλάβω. Μόνος μου, είμαι λίγο επικίνδυνος. Οποιαδήποτε ανατροφοδότηση και βοήθεια εκτιμάται!

3 Σχόλια

  1. 1

    Πολύ κουλ. Στην πραγματικότητα χρησιμοποίησα τον διακομιστή ονόματος του καταχωρητή μου με DNS μπαλαντέρ όταν ήμουν με το SliceHost και είχα ρυθμίσει το Apache να εξυπηρετεί μη διαμορφωμένους υποτομείς από τα κανονικά αρχεία τομέων.

    Ήμουν πραγματικά ενθουσιασμένος για να δω το πλαίσιο CakePHP, αλλά ο σύνδεσμός σας είναι νεκρός 🙂

    Μπορείτε να βρείτε το CakePHP στη διεύθυνση http://cakephp.ORG

    • 2

      Σκεφτόμουν επίσης να πάω στη διαδρομή μητρώου, Άλεξ. Αυτή είναι μια υπέροχη ιδέα - ίσως ο καλύτερος τρόπος για να το χειριστούμε αυτό.

      Συγγνώμη για τον νεκρό σύνδεσμο - έχει διορθωθεί τώρα.

  2. 3

Ποια είναι η γνώμη σας;

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.