Condividi tramite


Archivi simboli HTTP

Usando il protocollo SRV supportato tramite symsrv.dll (fornito con il debugger), è possibile accedere all'archivio simboli tramite HTTP (anziché solo UNC/SMB).

HTTP viene comunemente usato invece di SMB quando un firewall non consente SMB tra il client e il server. Gli ambienti di produzione e lab sono esempi validi di questo tipo.

Un server di simboli HTTP non può essere un archivio downstream in una catena di percorsi di simboli a causa della sua natura di sola lettura. Proxy server di simboli (filtro ISAPI) funziona intorno a questo limite. SymProxy scarica i file mancanti nel file system del server usando archivi di simboli upstream preconfigurati. Il filtro scarica il file nel file system, consentendo a IIS di scaricare il file nel client, ripristinando così il concetto di concatenamento dell'archivio simboli. Per altre informazioni, vedere SymProxy.

La configurazione di IIS come archivio simboli è relativamente semplice perché i file di simboli vengono usati solo come file statici. L'unica impostazione non predefinita è la configurazione dei tipi MIME per consentire il download dei file di simboli come flussi binari. A tale scopo, è possibile usare un carattere jolly "*" applicato alla directory virtuale della cartella dei simboli.

Per rendere accessibile un archivio simboli tramite Internet, è necessario configurare entrambe le directory contenenti i file di simboli e Internet Information Services (IIS).

Nota A causa del modo in cui IIS verrà configurato per gestire i file di simboli, non è consigliabile usare la stessa istanza del server per qualsiasi altro scopo. In genere, le impostazioni di sicurezza desiderate per un server di simboli non avranno senso per altri usi, ad esempio per un server commerciale esterno. Assicurarsi che la configurazione di esempio descritta qui abbia senso per l'ambiente e adattarla in base alle esigenze specifiche.

Creazione della directory dei simboli

Per iniziare, selezionare la directory che verrà usata come archivio simboli. Negli esempi, chiamiamo questa directory c:\symstore e il nome del server nella rete è \SymMachineName.

Per informazioni dettagliate su come popolare l'archivio simboli, vedere SymStore and Symbol Store Folder Tree .For details on how to pope your symbol store store folder tree, see SymStore and Symbol Store Folder Tree.

Configurazione di IIS

Internet Information Services (IIS) deve essere configurato per gestire i simboli creando una directory virtuale e configurando i tipi MIME. Al termine, è possibile scegliere il metodo di autenticazione.

Per creare una directory virtuale

  1. Aprire Gestione Internet Information Services (IIS).

  2. Passare a Siti Web.

  3. Fare clic con il pulsante destro del mouse su Sito Web predefinito o sul nome del sito in uso e scegliere Aggiungi directory virtuale.

  4. Digitare Simboli per Alias e fare clic su Avanti.

    Per semplificare l'amministrazione, è consigliabile usare lo stesso nome per la cartella, la condivisione e la directory virtuale.

  5. Per Percorso immettere c:\SymStore e fare clic su Avanti.

  6. Fare clic su OK per completare l'aggiunta della directory virtuale.

Eseguire il processo di configurazione della sottodirectory una volta per il server. Si noti che si tratta di un'impostazione globale e influisce sulle applicazioni non ospitate nella cartella radice di un sito.

Configurazione della sottodirectory

  1. Passare a [Computer].

  2. Aprire l'editor di configurazione.

  3. Passare a ApplicationHost/sites di sistema.

  4. Espandere virtualDirectoryDefaults.

  5. Impostare allowSubDirConfig su False.

Eseguire questo processo una volta per il server. Si noti che si tratta di un'impostazione globale che influisce sulle applicazioni non ospitate nella cartella radice di un sito.

Facoltativamente, rendere esplorabili i file di simboli

  1. Passare a [Computer] | Siti | [Sito Web] | Simboli.

  2. Fare doppio clic su Esplorazione directory nel riquadro centrale.

  3. Fare clic su Abilita nel riquadro destro.

Il tipo MIME per il contenuto scaricato deve essere impostato su application/octet-stream per consentire il recapito di tutti i file di simboli da IIS.

Configurazione dei tipi MIME

  1. Fare clic con il pulsante destro del mouse sulla directory virtuale Simboli e scegliere Proprietà.

  2. Selezionare Intestazioni HTTP.

  3. Fare clic su Tipi MIME.

  4. Fai clic su Nuovo.

  5. Per Estensione digitare *.

  6. Per il tipo MIME digitare application/octet-stream.

  7. Per uscire dalla finestra di dialogo Tipi MIME, fare clic su OK.

  8. Per uscire da Proprietà simboli, fare clic su OK.

È possibile modificare il file web.config per configurare i tipi MIME per i simboli. Questo approccio cancella i tipi MIME ereditati e aggiunge un carattere jolly catch-all * Tipo MIME. Questo approccio può essere necessario quando i tipi MIME vengono ereditati in determinate configurazioni IIS.

Uso di web.config per configurare i tipi MIME

  1. Modificare il file web.config come illustrato di seguito.

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <directoryBrowse enabled="true" />
            <staticContent>
                <clear />
                <mimeMap fileExtension=".*" 
    mimeType="application/octet-stream" />
            </staticContent>
        </system.webServer>
    </configuration>
    
  2. Riavviare IIS.

IIS è ora pronto per gestire i file di simboli di tutti i tipi dall'archivio simboli.

Configurazione dell'autenticazione

È possibile configurare IIS per l'uso dell'autenticazione integrata di Windows in modo che i client (ad esempio windbg.exe) possano eseguire automaticamente l'autenticazione in IIS senza richiedere all'utente finale le credenziali.

Nota Configurare solo l'autenticazione di Windows in IIS per controllare l'accesso al server dei simboli, se appropriato per l'ambiente. Sono disponibili altre opzioni di sicurezza per controllare ulteriormente l'accesso a IIS, se necessario per l'ambiente.

Per configurare il metodo di autenticazione come anonimo

  1. Avviare Gestione Internet Information Services (IIS).

  2. Passare a [Computer] | Siti | [Sito Web] | Simboli.

  3. Fare doppio clic su Autenticazione nel riquadro centrale.

  4. In Autenticazione e controllo di accesso fare clic su Modifica.

  5. Fare clic con il pulsante destro del mouse su Autenticazione di Windows e selezionare Abilita.

  6. Per tutti gli altri provider di autenticazione, fare clic con il pulsante destro del mouse su ogni provider e scegliere Disabilita.

  7. Fare clic su OK per completare la configurazione dell'autenticazione.

Se l'autenticazione della finestra non è elencata, usare Attiva e disattiva le funzionalità di Windows per abilitare la funzionalità. La posizione della funzionalità è diversa in ogni versione di Windows. In Windows 8.1/Windows 2012 R2 si trova in Internet Information Services | Servizi Web a livello mondiale | Sicurezza.

Disabilitare il supporto Kerberos

SymSrv.dll non supporta l'autenticazione Kerberos durante la connessione a IIS. Di conseguenza, l'autenticazione Kerberos deve essere disabilitata in IIS e NTLM deve essere impostata come unico protocollo di autenticazione di Windows.

Nota Disabilitare la sicurezza Kerberos solo se appropriato per l'ambiente.

Disabilitare il supporto Kerberos tramite appcmd.exe

  1. Apertura della finestra del Prompt dei comandi

  2. Per disabilitare Kerberos e forzare l'uso di NTLM, usare questo comando:

    appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='NTLM']" /commit:apphost
    
  3. Per tornare al valore predefinito con Kerberos abilitato, usare questo comando:

    appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='Negotiate,NTLM']" /commit:apphost
    

Configurazione dei prompt di autenticazione client SymSrv

Quando SymSrv riceve le richieste di autenticazione, il debugger può visualizzare la finestra di dialogo di autenticazione o rifiutare automaticamente la richiesta, a seconda della modalità di configurazione. È possibile configurare questo comportamento usando le richieste !sym on|off. Ad esempio, per attivare i prompt, usare questo comando.

!sym prompts on

Per controllare l'impostazione corrente, usare questo comando.

!sym prompts

Per altre informazioni, vedere !syms and Firewalls and Proxy Servers.