다음을 통해 공유


HTTP 기호 저장소

symsrv.dll 통해 지원되는 SRV 프로토콜을 사용하여(디버거와 함께 제공) 기호 저장소는 UNC/SMB 대신 HTTP를 사용하여 액세스할 수 있습니다.

HTTP는 일반적으로 방화벽이 클라이언트와 서버 간에 SMB를 허용하지 않는 경우 SMB 대신 사용됩니다. 프로덕션 및 랩 환경이 좋은 예입니다.

HTTP 기호 서버는 읽기 전용 특성으로 인해 기호 경로 체인의 다운스트림 저장소가 될 수 없습니다. 기호 서버 프록시(ISAPI 필터)는 이 제한을 해결합니다. SymProxy는 미리 구성된 업스트림 기호 저장소를 사용하여 누락된 파일을 서버의 파일 시스템에 다운로드합니다. 필터는 파일을 파일 시스템에 다운로드하여 IIS가 파일을 클라이언트에 다운로드할 수 있도록 하여 기호 저장소 체인의 개념을 복원합니다. 자세한 내용은 SymProxy를 참조하세요.

기호 파일은 정적 파일로만 제공되므로 IIS를 기호 저장소로 구성하는 것이 비교적 쉽습니다. 기본 설정이 아닌 유일한 설정은 기호 파일을 이진 스트림으로 다운로드할 수 있도록 하는 MIME 형식의 구성입니다. 기호 폴더의 가상 디렉터리에 적용된 "*" wild카드를 사용하여 이 작업을 수행할 수 있습니다.

인터넷을 통해 기호 저장소에 액세스할 수 있도록 하려면 기호 파일이 포함된 디렉터리와 IIS(인터넷 정보 서비스)를 모두 구성해야 합니다.

기호 파일을 제공하도록 IIS를 구성하는 방식 때문에 다른 용도로 동일한 서버 인스턴스를 사용하지 않는 것이 좋습니다. 일반적으로 기호 서버에 대해 원하는 보안 설정은 외부 연결 상거래 서버와 같은 다른 용도로는 의미가 없습니다. 여기에 설명된 샘플 구성이 사용자 환경에 적합한지 확인하고 특정 요구 사항에 맞게 조정합니다.

기호 디렉터리 만들기

먼저 기호 저장소로 사용할 디렉터리를 선택합니다. 이 예제에서는 이 디렉터리 c:\symstore를 호출하고 네트워크의 서버 이름은 \SymMachineName입니다.

기호 저장소를 채우는 방법에 대한 자세한 내용은 SymStore기호 저장소 폴더 트리를 참조하세요.

IIS 구성

가상 디렉터리를 만들고 MIME 형식을 구성하여 기호를 제공하도록 IIS(인터넷 정보 서비스)를 구성해야 합니다. 이 작업이 완료되면 인증 방법을 선택할 수 있습니다.

가상 디렉터리를 만들려면

  1. IIS(인터넷 정보 서비스) 관리자를 엽니다.

  2. 웹 사이트로 이동합니다.

  3. 기본 웹 사이트 또는 사용 중인 사이트의 이름을 마우스 오른쪽 단추로 클릭하고 가상 디렉터리 추가를 선택합니다.

  4. 별칭에 기호를입력하고 다음을 클릭합니다.

    관리 편의를 위해 폴더, 공유 및 가상 디렉터리에 동일한 이름을 사용하는 것이 좋습니다.

  5. 경로에 c:\SymStore를 입력하고 다음을 클릭합니다.

  6. 확인을 클릭하여 가상 디렉터리 추가를 완료합니다.

서버에 대해 한 번 하위 디렉터리 구성 프로세스를 수행합니다. 이는 전역 설정이며 사이트의 루트 폴더에 호스트되지 않는 애플리케이션에 영향을 줍니다.

하위 디렉터리 구성

  1. [컴퓨터]로 이동합니다.

  2. 구성 편집기를 엽니다.

  3. 시스템 ApplicationHost/사이트이동합니다.

  4. virtualDirectoryDefaults를 확장 합니다.

  5. allowSubDirConfig를 False설정합니다.

서버에 대해 이 프로세스를 한 번 수행합니다. 이는 전역 설정이며 사이트의 루트 폴더에 호스트되지 않은 애플리케이션에 영향을 줍니다.

선택 사항 기호 파일을 찾아보기 가능으로 만들기

  1. [컴퓨터] | 사이트 | [웹 사이트] | 기호입니다.

  2. 가운데 창에서 디렉터리 찾아보기를 두 번 클릭합니다.

  3. 오른쪽 창에서 [사용]을 클릭합니다.

IIS에서 모든 기호 파일을 배달할 수 있도록 다운로드한 콘텐츠의 MIME 형식을 application/octet-stream으로 설정해야 합니다.

MIME 형식 구성

  1. 기호 가상 디렉터리를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. HTTP 헤더를 선택합니다.

  3. MIME 형식을 클릭합니다.

  4. 새로 만들기를 클릭합니다.

  5. 확장의 경우 .를 입력합니다*.

  6. MIME 형식의 경우 application/octet-stream을 입력합니다.

  7. MIME 형식 대화 상자를 종료하려면 [확인]을 클릭합니다.

  8. 기호 속성을 종료하려면 [확인]을 클릭합니다.

web.config 파일을 편집하여 기호에 대한 MIME 형식을 구성할 수 있습니다. 이 방법은 상속된 MIME 형식을 지우고 모든 야생 카드 * MIME 형식을 추가합니다. MIME 형식이 특정 IIS 구성에서 상속되는 경우 이 방법이 필요할 수 있습니다.

web.config를 사용하여 MIME 형식 구성

  1. 여기에 표시된 대로 web.config 파일을 편집합니다.

    <?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. IIS를 다시 시작합니다.

이제 IIS는 기호 저장소에서 모든 형식의 기호 파일을 제공할 준비가 되었습니다.

인증 구성

클라이언트(예: windbg.exe)가 최종 사용자에게 자격 증명을 요청하지 않고 IIS에 대해 자동으로 인증할 수 있도록 "Windows 통합 인증"을 사용하도록 IIS를 구성할 수 있습니다.

환경에 적합한 경우 기호 서버에 대한 액세스를 제어하도록 IIS에서 Windows 인증만 구성합니다. 사용자 환경에 필요한 경우 IIS에 대한 액세스를 추가로 제어하는 데 사용할 수 있는 다른 보안 옵션이 있습니다.

인증 방법을 익명으로 구성하려면

  1. IIS(인터넷 정보 서비스) 관리자를 시작합니다.

  2. [컴퓨터] | 사이트 | [웹 사이트] | 기호입니다.

  3. 가운데 창에서 인증을 두 번 클릭합니다.

  4. 인증 및 액세스 제어에서 편집을 클릭합니다.

  5. Windows 인증을 마우스 오른쪽 단추로 클릭하고 사용을 선택합니다.

  6. 다른 모든 인증 공급자의 경우 각 공급자를 마우스 오른쪽 단추로 클릭하고 사용 안 함을 선택합니다.

  7. 확인을 클릭하여 인증 구성을 완료합니다.

창 인증이 나열되지 않은 경우 Windows 기능 켜기 및 끄기를 사용하여 기능을 사용하도록 설정합니다. 기능의 위치는 Windows의 각 버전에서 다릅니다. Windows 8.1/Windows 2012 R2에서는 인터넷 정보 서비스 | 아래에 있습니다. World Wide Web Services | 보안.

Kerberos 지원 사용 안 함

SymSrv.dll IIS에 연결할 때 Kerberos 인증을 지원하지 않습니다. 따라서 KERberos 인증은 IIS에서 사용하지 않도록 설정해야 하며 NTLM은 유일한 Windows 인증 프로토콜로 설정해야 합니다.

환경에 적합한 경우에만 Kerberos 보안을 사용하지 않도록 설정합니다.

appcmd.exe 사용하여 Kerberos 지원 사용 안 함

  1. 명령 프롬프트 창을 엽니다.

  2. Kerberos를 사용하지 않도록 설정하고 NTLM을 강제로 사용하려면 다음 명령을 사용합니다.

    appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='NTLM']" /commit:apphost
    
  3. Kerberos를 사용하도록 설정된 기본값으로 돌아가려면 다음 명령을 사용합니다.

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

SymSrv 클라이언트 인증 프롬프트 구성

SymSrv가 인증 요청을 받으면 디버거는 인증 대화 상자를 표시하거나 구성 방법에 따라 요청을 자동으로 거부할 수 있습니다. |off !sym 프롬프트를 사용하여 이 동작을 구성할 수 있습니다. 예를 들어 프롬프트를 켜려면 이 명령을 사용합니다.

!sym prompts on

현재 설정을 검사 하려면 이 명령을 사용합니다.

!sym prompts

자세한 내용은 !sym 및 방화벽 및 프록시 서버를 참조하세요.