Ký tự đại diện DNS và Tên miền phụ động

Trong tất cả thời gian rảnh rỗi của tôi (ha!), Tôi đã làm việc để bọc Bản đồ Wild Birds Unlimited ứng dụng với một ứng dụng doanh nghiệp sẽ cho phép mọi người thiết kế công cụ định vị cửa hàng của riêng họ. Phát triển phần mềm của riêng tôi như một giải pháp Dịch vụ đã là mục tiêu của tôi trong một vài năm, và đây là một cơ hội tuyệt vời.

Có hai tính năng chính mà tôi muốn đưa vào ứng dụng đang trở thành một thách thức lớn, vì vậy tôi muốn thảo luận về chúng trong trường hợp bạn muốn làm điều tương tự. Cả hai tính năng đều phổ biến trong các ứng dụng, nhưng tôi phát hiện ra rằng mặc dù chúng phổ biến nhưng nhiều nhà cung cấp dịch vụ lưu trữ không thực sự hỗ trợ chúng!

Mục tiêu của tôi là xây dựng một ứng dụng tự phục vụ nơi khách hàng có thể định cấu hình miền phụ của riêng họ (http://tên miền phụ.myapplicationdomain.com), hoặc thậm chí áp dụng tên miền phụ của riêng họ (http://tên miền phụ.yourdomain.com). Để nó có thể tự phục vụ, nó yêu cầu khả năng lập trình giải pháp - nhưng nó truy cập một số tệp cấu hình máy chủ tên miền bị giới hạn với phần lớn tài khoản lưu trữ! Vấn đề là hỗ trợ Wildcard DNS, nghĩa là, để có thể trỏ bất kỳ miền phụ nào đến miền của máy chủ. Nói cách khác, test.domain.com hoặc www.domain.com hoặc any.domain.com đều trỏ đến cùng một nơi. Bất kể bạn viết gì - nó sẽ hoạt động.

Bên ngoài các ứng dụng, đây thực sự là một tính năng khá hay được bật - ngay cả trên blog của bạn. Nó sẽ cho phép bất kỳ ai viết bất cứ điều gì.yourdomain.com và đưa họ đến yourdomain.com. Bạn sẽ ngạc nhiên về số lượng liên kết xấu có liên quan đến blog hoặc trang web của bạn. Điều đó có thể bị bỏ lỡ lưu lượng truy cập nếu người đó không nhận ra rằng đó là lỗi với liên kết.

Quá trình hoạt động bằng cách ghi lại miền phụ vào một chuỗi truy vấn trước khi trang thực sự được hiển thị bởi máy chủ web… vì vậy subdomain.domain.com thực sự được các máy chủ Apache hiểu là domain.com?what=subdomain thông qua việc sử dụng tệp htaccess:

# Trích xuất phần tên miền phụ của domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Kiểm tra xem phần tên miền phụ không phải là www và ftp và mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Chuyển hướng tất cả các yêu cầu đến một tập lệnh php chuyển dưới dạng đối số là tên miền phụ
Quy tắc viết lại ^. * $ Http://www.yourdomain.com/%1 [R, L]

Có một số thông tin bổ sung về các tệp bạn cần chỉnh sửa tại V-nessa.net. Lưu ý rằng các tệp có thể không được đặt ở nơi được chỉ định tùy thuộc vào nhà cung cấp dịch vụ lưu trữ của bạn. Nhà cung cấp dịch vụ lưu trữ của tôi thực sự rất ủng hộ việc mọi người can thiệp, nhưng họ cảnh báo rằng làm như vậy có thể làm mất khả năng hỗ trợ khách hàng. Cũng như 'tự chịu rủi ro', họ cũng sẽ không tiếp cận để giúp bạn.

Tôi sẽ làm việc để phát triển phần còn lại của ứng dụng hơn là bị treo vào việc phát triển tên miền phụ. Tôi thực sự sẽ cho CakePHP một cảnh quay để sử dụng làm khuôn khổ cho nó!

Lưu ý cuối cùng, tôi hơi khó tính về thứ này. Tôi may mắn được các nhóm phát triển làm việc để tìm ra thứ này. Riêng tôi, tôi hơi nguy hiểm. Mọi thông tin phản hồi và trợ giúp đều được đánh giá cao!

3 Comments

  1. 1

    Rất tuyệt. Tôi thực sự đã sử dụng máy chủ định danh của tổ chức đăng ký tên miền của mình với DNS ký tự đại diện khi tôi làm việc với SliceHost và đã định cấu hình Apache để phân phát các miền phụ chưa được định cấu hình từ các tệp miền thông thường.

    Tôi thực sự thích thú khi nhìn vào khuôn khổ CakePHP, nhưng liên kết của bạn đã chết 🙂

    CakePHP có thể được tìm thấy tại http://cakephp.ORG

  2. 3

Bạn nghĩ gì?

Trang web này sử dụng Akismet để giảm spam. Tìm hiểu cách xử lý dữ liệu nhận xét của bạn.