2013-03-14 13 views
7

ho un problema simile a (ma non lo stesso) come questo:
Azure web role - Multiple ssl certs pointing to a single endpointMultple certificati SSL in una distribuzione azzurra

Il mio pacchetto azzurro contiene più siti. Alcuni di questi siti sono nel dominio abc e altri sono nel dominio def. Devo proteggere entrambi i domini con SSL ma non riesco a capire come (se possibile) farlo.

Ecco un esempio del mio config:

<Sites> 
    <Site name="sub1.abc" physicalDirectory="***"> 
     <Bindings> 
      <Binding name="HttpIn" endpointName="HttpIn" hostHeader="sub1-staging.abc.com" /> 
      <Binding name="HttpsInABC" endpointName="HttpsInABC" hostHeader="sub1.abc.com" /> 
     </Bindings> 
    </Site> 
    <Site name="sub1.def" physicalDirectory="***"> 
     <Bindings> 
      <Binding name="HttpIn" endpointName="HttpIn" hostHeader="sub1-staging.def.com" /> 
      <Binding name="HttpsInDEF" endpointName="HttpsInDEF" hostHeader="sub1.def.com" /> 
     </Bindings> 
    </Site> 
</Sites> 
<Endpoints> 
    <InputEndpoint name="HttpIn" protocol="http" port="80" /> 
    <InputEndpoint name="HttpsInABC" protocol="https" port="443" certificate="abc" /> 
    <InputEndpoint name="HttpsInDEF" protocol="https" port="443" certificate="def" /> 
</Endpoints> 
<Certificates> 
    <Certificate name="abc" storeLocation="LocalMachine" storeName="My" /> 
    <Certificate name="def" storeLocation="LocalMachine" storeName="My" /> 
</Certificates> 

Questa configurazione mi dà il seguente errore:

The same local port '443' is assigned to endpoints HttpsInABC and HttpsInDEF in role ***.

Qualche suggerimento su come posso risolvere questo senza la necessità di ospitare separatamente?



Sulla base @ risposta di JoelDSouza:

Will using different ports work for you

Quali sono le implicazioni di SSL sulle porte 444/445/446 ecc in Windows Azure?

+1

+1. Buona domanda flemster – mattytommo

+0

Eventuale duplicato - http://stackoverflow.com/questions/10442858/is-it-possibile-da-get-uno-ssl-certificate-mysubdomain-example-com-and-mysubdom – ChrisF

+0

@ChrisF. La mia domanda riguarda SSL per più * diversi * nomi di dominio piuttosto che sotto domini. –

risposta

3

È possibile utilizzare più certificati SSL e aggiungerli tutti allo stesso endpoint automatizzando il processo di installazione i certificati sulla macchina e aggiungi i collegamenti HTTPS a IIS.

IIS 8 (Windows Server 2012) supporta SNI, che consente di aggiungere un "hostheader" al binding HTTPS.

Sono un Technical Evangelist di Microsoft e mi hanno inviato uno spiegazione dettagliata e un campione "plug & play" codice sorgente a: http://www.vic.ms/microsoft/windows-azure/multiples-ssl-certificates-on-windows-azure-cloud-services/

+2

Qual è il supporto del browser per SNI? –

+0

In pratica, qualsiasi browser ad eccezione di Internet Explorer su Windows XP. [Controlla su Wikipedia per un elenco completo] (http://en.wikipedia.org/wiki/Server_Name_Indication) –

+1

Con IE su XP che rappresenta ancora una grossa fetta di traffico web, questo presenta un problema critico con questa soluzione per la maggior parte dei siti web. Il collegamento fornito da – Co7e

2

Temo che non abbiate fortuna - come indicato nell'articolo a cui è collegato, un certificato SSL per IP server. Immagino che ospitandoli separatamente (che sembra strano se si considera che è basato sul cloud) si otterranno due IP e quindi si può aggiungere un certificato SSL a ciascun indirizzo IP.

Si potrebbe spostare tutto in un dominio e utilizzare le cartelle all'interno di quel dominio per ospitare i siti separati: questo è l'unico modo per proteggere tutto con il certificato SSL senza due pacchetti di hosting: , ovvero anziché:

www.domain1.com e www.domain2.com uso www.mydomain.com/domain1/ e www.mydomain.com/domain2/

+0

Sfortunatamente il suggerimento di directories vs domains non soddisfa i miei requisiti. I domini appartengono a diversi client. Non sono esperto ma sto attraversando un periodo difficile credendo di non poter ospitare due siti su un server con nomi di dominio diversi, entrambi dietro SSL ... –

+0

Ho immaginato che l'idea delle cartelle non sarebbe stata possibile ma hai chiesto se c'era un modo per aggirare la limitazione :) Puoi acquistare un IP aggiuntivo per il tuo pacchetto? Temo che tu abbia bisogno di un indirizzo IP per certificato SSL. –

0

vogliono usando porte diverse lavorare per voi? È possibile utilizzare SSL cert 1 con myapp.cloudapp.net:443 e SSL cert 2 con myapp.cloudapp.net:8443

+0

La mia comprensione è che SSL richiede la porta 443. Non è vero? –

+0

Può essere eseguito su qualsiasi porta, ma 443 è l'impostazione predefinita. Se viene utilizzata una porta non standard, deve essere specificata nell'URL per i browser e la maggior parte delle altre applicazioni. Per esempio. https://myapp.cloudapp.net:8443/ considerando che https://myapp.cloudapp.net/ verrà indirizzato alla porta 443 dalla maggior parte delle applicazioni. – ulty4life

0

Se non occorrono certificati jolly è possibile utilizzare un multi - certificato di dominio. In questo modo hai solo bisogno di un certificato. Il rovescio della medaglia è che ogni sottodominio deve essere specificato, il che può diventare costoso se si ha molto.