Come configurare i caratteri jolly IIS per i sottodomini di account (come Basecamp)?


8

In effetti, sto lavorando a un'applicazione SaaS in cui desidero fornire agli abbonati il ​​proprio sottodominio per accedere alle loro informazioni (nel codice estrarrò la prima parte del sottodominio per usarlo come nome dell'account), simile a come Basecamp et all lavoro. Ad esempio, un abbonato potrebbe avere l'URL acme.myapp.com. Dal momento che potrebbero esserci centinaia di abbonati, non posso semplicemente aggiungere un'intestazione host diversa per ciascun client.

Apache ti consente di specificare un carattere jolly (*) e reindirizzerà acme.myapp.com a myapp.com, in cui posso eseguire la mia logica per recuperare il nome dell'account dell'utente in base al sottodominio. Non sono sicuro di come farlo automaticamente con IIS (è passato un po 'di tempo da quando ho dovuto configurare IIS per qualsiasi cosa tranne un singolo sito Web).

Inoltre, ci sono delle disposizioni speciali di cui ho bisogno per raggiungere questo obiettivo? Quando la mia app è pronta e sto cercando l'hosting per essa, avrò bisogno di qualcosa di specifico dall'host che limiti le mie scelte? Stavo anche considerando di usare Windows Azure per sfruttare il cloud: sarei ancora in grado di farlo se usassi Azure come piattaforma di hosting?


Quale versione di IIS è questa, 6 o 7
Sam Cogan,

IIS7 (casella locale che esegue Win7). L'hosting sarà probabilmente su Server 2008, quindi posso presumere che IIS7 sia sempre.
Wayne Molina,

Risposte:


5

Come ha detto Joe, lo faresti più con DNS che con IIS.

IIS non supporta i domini jolly * .domain.com. Dovresti invece creare un sito in IIS che non avesse intestazioni host, quindi risponderesti a tutte le richieste su quell'IP che non erano state raccolte da altri siti che avevano intestazioni host. Dovresti quindi creare la tua voce DNS jolly per puntare all'IP di quel sito e il gioco è fatto.


Quindi non c'è modo di "falsificarlo" senza avere la configurazione del dominio e farlo con DNS? Lo sto chiedendo perché vorrei testare la parte dell'account (ad esempio, acme.myapp.xxx recupera l'account per Acme), ma se ho capito bene significa che non posso testarlo con IIS a meno che non acquisti il ​​dominio e imposti l'indirizzo IP?
Wayne Molina,

2
Bene, se vuoi solo provarlo, puoi configurare IIS, quindi inserire alcuni ingressi nel tuo file HOST locale per i sottodomini che vuoi testare, quindi puntano al tuo server IIS, questo ti permetterà di testarli sul tuo computer senza acquisto del dominio.
Sam Cogan,

Se hai solo un'applicazione per porta nel tuo IIS.
Marc Climent,

2

Se ti sto capendo correttamente, potresti usare DNS per farlo. Supponendo che myapp.com sia il tuo dominio, quindi nella tua zona DNS myapp.com aggiungi semplicemente un record CNAME (acme) che punta al record A per il tuo sito web (www.myapp.com). Questo li invierà al tuo sito web principale, dove il tuo codice prenderà il sopravvento e li reindirizzerà all'applicazione appropriata.

Puoi anche utilizzare un record di caratteri jolly DNS (*) che catturerà tutto, come acme.myapp.com, joeschmoe.myapp.com, ecc.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.