2012-01-27 33 views
5

Tôi có ứng dụng Django lưu trữ trên Heroku. Trong ứng dụng, người dùng tạo các trang tại http://domain.com/usernameCho phép người dùng sử dụng miền tùy chỉnh cho ứng dụng Django trên Heroku

Tôi muốn cung cấp cho người dùng tùy chọn sử dụng tên miền riêng của họ cho trang của họ bằng CNAME. Lý tưởng nhất là tôi muốn tránh một bản ghi A trong trường hợp tôi thay đổi máy chủ trong tương lai và thay đổi IP của tôi.

Đây là lãnh thổ hoàn toàn mới đối với tôi và thậm chí không biết bắt đầu từ đâu hoặc tìm kiếm điều gì. Có ai có một gợi ý về nơi để bắt đầu? Tôi đã nhìn thấy đề cập đến Wildcard DNS, nhưng không chắc chắn như thế nào mà quan hệ vào ứng dụng của tôi.

Bất kỳ đề xuất nào cũng sẽ được đánh giá cao.

+0

bạn có quyền kiểm soát máy chủ định danh lưu trữ tên miền không? – Thomas

+0

Tên miền được đăng ký với GoDaddy và tôi trỏ nó đến địa chỉ IP của Heroku. Đó có phải là ý bạn không? – Brenden

+0

Bạn cần kiểm soát máy chủ định danh để thêm tên miền phụ hoặc bạn cần phải liên kết với godaddy để nhận được một tên miền phụ ký tự đại diện. – Thomas

Trả lời

1

sơ bộ trả lời:

Nếu bạn kiểm soát các máy chủ tên cho tên miền và được tiếp cận với các chính RNDC, bạn có thể sử dụng sau khi đăng ký xem/tín hiệu để phun ra một cname đến máy chủ DNS của bạn sẽ resove username.yoursite.com đến yoursite.com. Hãy chắc chắn rằng apache được thiết lập để nhận một virtualhost wildcard cho đúng ứng dụng, và sau đó sử dụng một middleware tùy chỉnh để đọc request.META['SERVER_NAME'].lsplit('.')[0] để xem tên miền phụ là gì. Sau đó, bạn có thể sử dụng thông tin này trong các chế độ xem của mình để phân biệt các tên miền phụ của người dùng.

Các vấn đề liên quan