2012-01-15 26 views
8

Tôi đang tạo ứng dụng giống như blog, cho phép khách hàng sử dụng tên miền tùy chỉnh của riêng họ như domainexample.com, vì vậy mỗi tên miền khác nhau phân phối cùng một ứng dụng nhưng có nội dung khác nhau.Nhiều tên miền được hỗ trợ bởi một ứng dụng đường ray

Tuy nhiên tôi đang cố gắng tìm ra cách thiết lập điều này trên máy chủ sản xuất. Nếu máy chủ sản xuất của tôi có một IP tĩnh thì tôi có thể chắc chắn chỉ cần thiết lập một bản ghi trên mỗi tên miền cho ip của máy chủ sản xuất.

Nhưng điều gì sẽ xảy ra nếu máy chủ sản xuất không có IP tĩnh. Ví dụ, nếu chúng ta muốn lưu trữ nó trên heroku hoặc engineyard? Tôi đã thấy một vài giải pháp trực tuyến yêu cầu sử dụng quy tắc viết lại nhưng chúng yêu cầu khởi động lại máy chủ và không thể tự động thêm và xóa tên miền mới khi người dùng mới đăng ký. Có ai biết bất kỳ giải pháp tốt để cho nhiều tên miền nhấn một ứng dụng đường ray?

+0

heroku có một ["tên miền ký tự đại diện"] (http://devcenter.heroku.com/articles/custom-domains#wildcard_domains) giải pháp – yoavmatchulsky

+0

dường như chỉ khả dụng cho tên miền phụ – Nick

+0

Có thể, bạn sẽ phải cập nhật DNS bản ghi, nhưng CNAME, không phải A. – taro

Trả lời

3

Heroku không phải là lựa chọn duy nhất của bạn. Nếu bạn có thể dự đoán tên miền của khách hàng, hãy xem this. Nếu bạn không thể, Rails định tuyến constraints và kết hợp câu trả lời được chấp nhận cho câu hỏi được liên kết ở trên sẽ giúp bạn có được nơi bạn cần đến. Có vẻ như bạn không muốn khởi động lại máy chủ của mình - vì vậy không cần chỉnh sửa các tuyến đường. Bạn cũng có thể tạo domains một phần của mô hình hoặc phân biệt tại controller level hoặc sử dụng viết lại URL trong lớp máy chủ web của bạn.

Vấn đề, như tôi thấy, là Rails phá vỡ câu thần chú của mình về ý kiến ​​về cấu hình ở đây. Có nhiều cách phục vụ từ nhiều tên miền. Đó có thể là một sự phức tạp nội tại, nhưng Rails Guides có thể ít nhất là tài liệu một giải pháp có thể.

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