2009-07-21 27 views
5

Tôi đang xây dựng một trang web nơi các doanh nghiệp có thể đăng ký tài khoản của riêng mình tại http://businessname.example.com với "tên doanh nghiệp" thay đổi mỗi lần.tạo các tên miền phụ khi đăng ký

Tôi muốn thực hiện việc này trên máy chủ Windows (IIS 7) nhưng không chắc chắn về cách thực hiện.

+1

Thích hợp hơn cho serverfault, có lẽ? – Joey

+1

không chắc chắn ... cách 'máy chủ' (cấu hình iis + scripting) có nhiều vấn đề hơn cách 'chồng' (url viết lại). vì vậy nếu url viết lại được chọn, nó nên ở lại đây. – b0x0rz

Trả lời

3

Trước tiên, bạn phải định cấu hình máy chủ DNS của mình để giải quyết * .example.com thành IP của máy chủ.

Sau đó, bạn có hai lựa chọn:

  • Mỗi khi một tài khoản mới được tạo ra, bạn thêm máy chủ của nó đối với cấu hình IIS, vì vậy nó được ràng buộc vào một thư mục. Tôi không chắc chắn làm thế nào để làm điều này lập trình.
  • Mỗi lần yêu cầu được gửi đến máy chủ, bạn kiểm tra máy chủ và chuyển hướng ứng dụng đến trang web tương ứng với máy chủ. Nó có thể là một chuyển hướng rõ ràng (khách hàng đến ngày http://businessname.domain.com/ và được chuyển hướng đến http://sites.example.com/businessname/) hoặc ngầm (khách hàng đến trên http://businessname.example.com/ và nội bộ, ứng dụng nằm trên một thư mục dành riêng cho tên doanh nghiệp và xử lý yêu cầu.
5

qua http://forums.asp.net/t/874598.aspx

Nếu nhà cung cấp DNS của bạn (. Tức là ISP) có "ký tự đại diện" tùy chọn mà bạn có thể thiết lập * .mydomain.com -> MYIP

Bước tiếp theo. Tùy chọn # 1 Tạo tập lệnh tạo 1 trang cho mỗi tên miền phụ trong IIS Tùy chọn # 2 Tạo một tập lệnh url_rewrite để ghi lại các url để sửa thư mục khi đang di chuyển.

tùy chọn 2 có lẽ là những gì bạn đang tìm kiếm (và được khuyến khích và ưa thích tùy chọn 1). Thông tin

thêm về url viết lại trên IIS7: http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

Microsoft URL Rewrite Module cho IIS 7.0 cung cấp linh hoạt quy tắc dựa trên động cơ viết lại> có thể được sử dụng để thực hiện phổ rộng các nhiệm vụ thao tác URL, bao gồm, nhưng không giới hạn ở:

  • Bật URL thân thiện với công cụ tìm kiếm thân thiện với người dùng với các ứng dụng web động;
  • Viết lại URL dựa trên tiêu đề HTTP và biến máy chủ;
  • Xử lý nội dung trang web;
  • Kiểm soát quyền truy cập vào nội dung trang web dựa trên phân đoạn URL hoặc yêu cầu siêu dữ liệu.

url tùy chọn viết lại giúp bạn dễ dàng có hàng trăm hàng ngàn công ty, tên của họ có thể được đọc từ cơ sở dữ liệu và viết lại url sẽ xử lý các chuyển hướng. sau đó bạn có thể quên nó (đối với hầu hết các phần) vì nó sẽ tiếp tục làm việc cho tất cả các công ty đăng ký trong tương lai.

0

này bao gồm:

  • Wildcard DNS Mapping
  • Sử dụng API IIS để thêm tên máy chủ đến miền ví dụ businessname.domain.com
  • mạo danh có lập trình (như mã cần một priveledge cao hơn để sử dụng API IIS hơn là chỉ MẠNG DỊCH VỤ

Khi bạn programatically thêm tên máy chủ bản đồ ký tự đại diện cho phép nó để được giải quyết.

các tùy chọn URL Rewrite sẽ sạch hơn, nhưng với lĩnh vực vật lý, bạn có thể cung cấp truy cập FTP và những thứ khác vì nó sẽ là một miền đầy đủ.

Andrew

3

G một cách hợp lý, cách tiếp cận tốt hơn cho điều này (nếu có thể) là không sử dụng các Header Host hoặc các trang IIS riêng biệt cho mỗi lần đăng ký. Chỉ cần dành một địa chỉ IP cho ứng dụng đó đáp ứng tất cả các yêu cầu trên Cổng 80 (hoặc bất kỳ cổng nào bạn sử dụng) và để ứng dụng của bạn phát hiện tiêu đề máy chủ theo yêu cầu. Bằng cách này, nếu bạn có 1.000 lần đăng ký, bạn không kết thúc với 1.000 "thứ" cần được định cấu hình đúng ở lớp Hệ điều hành/dịch vụ.

Ngoài ra nếu bạn chỉ muốn mã, không chắc chắn những gì ngôn ngữ mà bạn đang xem, nhưng xem dưới đây để C# ...

http://forums.iis.net/t/1151463.aspx

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