Condividi tramite


Configurazione di HTTP e HTTPS

I servizi e i client WCF possono comunicare tramite HTTP e HTTPS. Le impostazioni HTTP/HTTPS vengono configurate tramite Internet Information Services (IIS) o tramite uno strumento da riga di comando. Quando un servizio WCF è ospitato in IIS, è possibile configurare le impostazioni HTTP o HTTPS all'interno di IIS (utilizzando lo strumento inetmgr.exe). Se un servizio WCF è self-hosted, le impostazioni HTTP o HTTPS vengono configurate utilizzando uno strumento da riga di comando.

Come minimo, si desidera configurare una registrazione URL e aggiungere un'eccezione del firewall per l'URL che verrà utilizzato dal servizio. È possibile configurare queste impostazioni con lo strumento Netsh.exe.

Configurazione delle prenotazioni dello spazio dei nomi

La prenotazione dello spazio dei nomi assegna i diritti per una parte dello spazio dei nomi URL HTTP a un determinato gruppo di utenti. Una prenotazione concede a tali utenti il diritto di creare servizi in ascolto su tale parte dello spazio dei nomi. Le prenotazioni sono prefissi URL, il che significa che la prenotazione copre tutti i percorsi secondari del percorso di prenotazione. Le prenotazioni dello spazio dei nomi consentono due modi per utilizzare i caratteri jolly. La documentazione dell'API del server HTTP descrive l'ordine di risoluzione tra le attestazioni dello spazio dei nomi che coinvolgono caratteri jolly.

Un'applicazione in esecuzione può creare una richiesta simile per aggiungere registrazioni dello spazio dei nomi. Le registrazioni e le prenotazioni competono per porzioni del namespace. Una prenotazione può avere la precedenza su una registrazione in base all'ordine di risoluzione indicato nell'ordine di risoluzione tra le attestazioni dello spazio dei nomi che coinvolgono caratteri jolly. In questo caso, la prenotazione impedisce all'applicazione in esecuzione di ricevere richieste.

Nell'esempio seguente viene utilizzato lo strumento Netsh.exe:

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

Questo comando aggiunge una prenotazione URL per lo spazio dei nomi URL specificato per l'account DOMAIN\user. Per ulteriori informazioni sull'utilizzo del comando netsh, digitare netsh http add urlacl /? un prompt dei comandi e premere INVIO.

Configurazione di un'eccezione del firewall

Quando si esegue l'hosting autonomo di un servizio WCF che comunica tramite HTTP, è necessario aggiungere un'eccezione alla configurazione del firewall per consentire le connessioni in ingresso utilizzando un URL specifico.

Configurazione dei certificati SSL

Il protocollo SSL (Secure Sockets Layer) utilizza i certificati sul client e sul server per archiviare le chiavi di crittografia. Il server fornisce il proprio certificato SSL quando viene stabilita una connessione in modo che il client possa verificare l'identità del server. Il server può anche richiedere un certificato al client per fornire l'autenticazione reciproca di entrambi i lati della connessione.

I certificati vengono archiviati in un archivio centralizzato in base all'indirizzo IP e al numero di porta della connessione. L'indirizzo IP speciale 0.0.0.0 corrisponde a qualsiasi indirizzo IP per la macchina locale. Si noti che l'archivio certificati non distingue gli URL in base al percorso. I servizi con la stessa combinazione di indirizzo IP e porta devono condividere i certificati anche se il percorso nell'URL dei servizi è diverso.

Per istruzioni dettagliate, vedere Procedura: configurare una porta con un certificato SSL.

Configurazione dell'elenco di ascolto IP

L'API del server HTTP si associa a un indirizzo IP e a una porta solo dopo che un utente registra un URL. Per impostazione predefinita, l'API del server HTTP si associa alla porta nell'URL di tutti gli indirizzi IP del computer. Si verifica un conflitto se un'applicazione che non utilizza l'API del server HTTP è stata precedentemente associata a tale combinazione di indirizzo IP e porta. L'elenco di indirizzi IP in ascolto consente la coesistenza dei servizi WCF con le applicazioni che utilizzano una porta per alcuni indirizzi IP del computer. Se l'elenco di ascolto IP contiene voci, l'API del server HTTP si associa solo agli indirizzi IP specificati nell'elenco. La modifica dell'elenco di ascolto IP richiede privilegi amministrativi.

Utilizzare lo strumento netsh per modificare l'elenco di ascolto IP, come illustrato nell'esempio seguente:

netsh http add iplisten ipaddress=0.0.0.0:8000

Altre impostazioni di configurazione

Quando si utilizza WSDualHttpBinding, la connessione client utilizza impostazioni predefinite compatibili con le prenotazioni dello spazio dei nomi e il firewall di Windows. Se si sceglie di personalizzare l'indirizzo di base del client di una connessione duale, è necessario configurare anche queste impostazioni HTTP sul client in modo che corrispondano al nuovo indirizzo.

L'API del server HTTP dispone di alcune impostazioni di configurazione avanzate che non sono disponibili tramite HttpCfg. Queste impostazioni vengono mantenute nel Registro di sistema e si applicano a tutte le applicazioni in esecuzione nei sistemi che utilizzano le API del server HTTP. Per informazioni su queste impostazioni, vedere Http.sys impostazioni del Registro di sistema per IIS. La maggior parte degli utenti non ha bisogno di modificare queste impostazioni.

Vedere anche