Bagaimana cara mengkonfigurasi wildcard IIS untuk subdomain akun (seperti Basecamp)?


8

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?


Versi IIS yang mana ini, 6 atau 7
Sam Cogan

IIS7 (kotak lokal menjalankan Win7). Hosting mungkin berada di Server 2008 sehingga saya dapat mengasumsikan IIS7 selalu.
Wayne Molina

Jawaban:


5

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.


Jadi tidak ada cara untuk "memalsukan" itu tanpa memiliki pengaturan domain dan melakukannya dengan DNS? Saya bertanya karena saya ingin menguji bagian akun (mis. Acme.myapp.xxx mengambil akun untuk Acme), tetapi jika saya mengerti benar itu berarti saya tidak dapat menguji ini dengan IIS kecuali saya membeli domain dan mengatur alamat IP?
Wayne Molina

2
Nah jika Anda hanya ingin mengujinya, Anda dapat mengatur IIS, lalu memasukkan beberapa entri di file HOST lokal Anda untuk subdomain yang ingin Anda uji, sehingga mereka menunjuk ke Anda server IIS, ini akan memungkinkan Anda untuk mengujinya di mesin Anda tanpa membeli domain.
Sam Cogan

Selama Anda hanya memiliki aplikasi per port di IIS Anda.
Marc Climent

2

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.