Akibatnya saya sedang mengerjakan aplikasi SaaS di mana saya ingin memberikan pelanggan subdomain mereka sendiri untuk mengakses informasi mereka (dalam kode saya akan menarik bagian pertama dari subdomain untuk digunakan sebagai nama akun mereka), mirip dengan bagaimana Basecamp et all kerja. Misalnya, pelanggan mungkin memiliki URL acme.myapp.com
. Karena mungkin ada ratusan pelanggan saya tidak bisa begitu saja menambahkan header host yang berbeda untuk setiap klien.
Apache memungkinkan Anda untuk menentukan wildcard (*) dan akan mengarahkan acme.myapp.com ke myapp.com, di mana saya dapat melakukan logika saya untuk mengambil nama akun pengguna berdasarkan subdomain. Saya tidak yakin bagaimana melakukan ini secara otomatis dengan IIS (Sudah lama sejak saya harus mengkonfigurasi IIS untuk apa pun kecuali satu situs web).
Juga, apakah ada ketentuan khusus yang perlu saya selesaikan ini? Ketika aplikasi saya siap dan saya mencari hosting untuk itu, apakah saya memerlukan sesuatu yang spesifik dari host yang akan membatasi pilihan saya? Saya juga mempertimbangkan untuk menggunakan Windows Azure untuk mengambil keuntungan dari cloud - apakah saya masih dapat melakukan ini jika saya menggunakan Azure sebagai platform hosting?
sumber
Jawaban:
Seperti yang disebutkan Joe, Anda akan melakukan ini lebih banyak dengan DNS daripada IIS.
IIS tidak memiliki dukungan untuk domain wildcard * .domain.com. Sebaliknya Anda akan membuat situs di IIS yang tidak memiliki header host, jadi akan menanggapi semua permintaan pada IP yang tidak diambil oleh situs lain yang memang memiliki header host. Anda kemudian akan membuat entri DNS wildcard Anda untuk menunjuk ke IP situs itu dan Anda selesai.
sumber
Jika saya memahami Anda dengan benar, Anda dapat menggunakan DNS untuk melakukan ini. Dengan anggapan bahwa myapp.com adalah domain Anda, maka di zona DNS myapp.com Anda cukup tambahkan catatan CNAME (acme) yang menunjuk ke catatan A untuk situs web Anda (www.myapp.com). Itu akan mengirim mereka ke situs web utama Anda, tempat kode Anda akan mengambil alih dan mengarahkan mereka ke aplikasi yang sesuai.
Anda juga dapat menggunakan catatan wildcard DNS (*) yang akan menangkap semua orang, seperti acme.myapp.com, joeschmoe.myapp.com, dll.
sumber