다음을 통해 공유


Azure Cloud Services에서 HTTPS 통신 사용(추가 지원)

Microsoft Azure Cloud Services(추가 지원)와의 통신은 HTTPS(Hypertext Transfer Protocol Secure) 프로토콜을 사용하여 수행됩니다. 이 문서에서는 Cloud Services(추가 지원)에 대해 HTTPS 통신을 사용하도록 설정하는 방법을 설명합니다.

필수 조건

프로젝트 배포에 대한 일반 단계

Azure에 Cloud Services(추가 지원) 프로젝트를 배포하는 일반적인 단계는 다음과 같습니다.

  1. 인증서를 준비합니다.

  2. 프로젝트를 구성합니다.

  3. 프로젝트 파일을 클라우드 서비스의 서비스 정의(.csdef), 서비스 구성(.cscfg) 및 서비스 패키지(.cspkg) 파일에 패키지합니다.

  4. 필요한 경우 Cloud Services(추가 지원) 리소스의 구성을 변경합니다. 예를 들어 다음 중에서 수정할 수 있습니다.

    1. 패키지 URL을 업데이트합니다.
    2. URL 설정을 구성합니다.
    3. 운영 체제 비밀 설정을 업데이트합니다.
  5. 새 프로젝트를 배포하고 Azure에 업데이트합니다.

참고 항목

프로젝트는 다음 도구를 사용하는 등 여러 가지 방법을 통해 배포할 수 있습니다.

배포 방법에 관계없이 일반 배포 단계는 동일합니다.

이러한 단계 중 처음 두 단계는 모든 배포 방법에 필요합니다. 이러한 단계는 코드 변경 섹션에서 설명합니다. 나머지 단계도 중요하지만 항상 수동 사용자 개입이 필요한 것은 아닙니다. 예를 들어 Visual Studio와 같은 도구에서 자동으로 단계를 수행할 수 있습니다. 이 단계의 마지막 세 가지 단계는 구성 변경 섹션에서 설명합니다.

코드 변경 내용

코드를 변경하여 인증서를 준비하고 프로젝트를 구성하려면 다음 단계를 수행합니다.

  1. 지침 에 따라 6단계를 통해 키 자격 증명 모음에 인증서를 업로드합니다.

  2. 인증서의 지문(40자리 16진수 문자열)을 적어 씁니다.

  3. 프로젝트의 서비스 구성(.cscfg) 파일에서 인증서를 사용하려는 역할에 인증서 지문을 추가합니다. 예를 들어 인증서를 SSL 인증서로 사용하여 WebRole과 통신하려는 경우 루트 ServiceConfiguration 요소의 첫 번째 자식으로 다음 코드 WebRole1 조각과 유사한 XML 코드를 추가할 수 있습니다.

    <Role name="WebRole1">
      <Instances count="1" />
      <Certificates>
        <Certificate
          name="Certificate1"
          thumbprint="0123456789ABCDEF0123456789ABCDEF01234567"
          thumbprintAlgorithm="sha1"
        />
      </Certificates>
    </Role>
    

    인증서의 이름을 사용자 지정할 수 있지만 서비스 정의(.csdef) 파일에 사용되는 인증서 이름과 일치해야 합니다.

  4. 서비스 정의(.csdef) 파일에서 다음 요소를 추가합니다.

    부모 XPath 추가할 요소 사용할 특성
    /ServiceDefinition/WebRole/Sites/Site/Bindings Binding name, endpointName
    /ServiceDefinition/WebRole/Endpoints InputEndpoint 이름, 프로토콜, 포트, 인증서
    /ServiceDefinition/WebRole Certificates/Certificate name, storeLocation, storeName, permissionLevel

    요소를 CertificatesEndpoints 는 태그 바로 후에 추가해야 합니다. 특성이 포함되지 않습니다. 자식 Certificate 요소만 포함합니다.

    예를 들어 서비스 정의 파일은 다음 XML 코드와 유사할 수 있습니다.

    <?xml version="1.0" encoding="utf-8"?>
    <ServiceDefinition name="CSESOneWebRoleHTTPS" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
      <WebRole name="WebRole1" vmsize="Standard_D1_v2">
        <Sites>
          <Site name="Web">
            <Bindings>
              <Binding name="Endpoint1" endpointName="Endpoint1" />
              <Binding name="HttpsIn" endpointName="HttpsIn" />
            </Bindings>
          </Site>
        </Sites>
        <Endpoints>
          <InputEndpoint name="Endpoint1" protocol="http" port="80" />
          <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="Certificate1" />
        </Endpoints>
        <Certificates>
          <Certificate name="Certificate1" storeLocation="LocalMachine" storeName="My" permissionLevel="limitedOrElevated" />
        </Certificates>
      </WebRole>
    </ServiceDefinition>
    

    이 예제에서 서비스 정의 파일은 포트 443에서 HTTPS 프로토콜에 HttpsIn 대한 입력 엔드포인트를 바인딩하도록 수정됩니다. 제한된 권한 또는 상승된 권한 수준에 대한 이름과 My 위치 LocalMachine 가 있는 저장소에 인증서를 사용합니다Certificate1. 요소와 Certificate 요소의 InputEndpoint 인증서 이름이 서로 일치합니다. 또한 이전 단계의 서비스 구성(.cscfg) 파일에 사용된 인증서 이름과도 일치합니다.

구성 변경 내용

클라우드 서비스 구성을 변경하는 지침은 클라우드 서비스가 배포된 방식에 따라 다릅니다. 이러한 지침은 다음 탭에 표시됩니다. 각 탭은 다른 배포 방법을 나타냅니다.

계속하기 전에 Azure Portal을 사용하여 Azure Cloud Services(추가 지원) 배포를 참조하세요. 그런 다음, Azure Portal을 통해 올바른 구성을 변경하려면 다음 단계를 수행합니다.

  1. 클래식 클라우드 서비스에서 ARM 템플릿을 사용한 클라우드 서비스 확장 지원으로 수동 마이그레이션이라는 제목의 블로그 항목으로 이동하고 7~9단계를 수행합니다. 다음 지침에서는 다음 단계를 수행하는 방법을 보여 줍니다.

    • 프로젝트를 패키지합니다.

    • 생성된 서비스 패키지(<project-name.cspkg>) 및 클라우드 서비스 구성(ServiceConfiguration.Cloud.cscfg) 파일을 클라우드 서비스의 스토리지 계정 컨테이너에 업로드합니다.

      참고 항목

      또한 다른 두 파일에 대해 설명된 것과 동일한 프로세스를 사용하여 서비스 정의(ServiceDefinition.csdef) 파일을 업로드해야 합니다.

    • 업로드된 각 파일에 대한 SAS(공유 액세스 서명) URL을 생성합니다.

  2. Azure Portal에서 클라우드 서비스의 개요 페이지로 돌아가서 업데이트를 선택합니다.

  3. 클라우드 서비스 업데이트 페이지에서 기본 사항 탭에서 다음을 변경합니다.

    1. 패키지/구성/서비스 정의 위치 필드에서 Blob에서 선택합니다.

    2. 패키지 업로드(.cspkg, .zip) 필드에서 다음 단계를 수행합니다.

      1. 찾아보기 링크를 선택합니다.
      2. 파일을 업로드한 스토리지 계정 및 컨테이너를 선택합니다.
      3. 컨테이너 페이지에서 해당 파일(이 경우 project-name.cspkg>)을 선택한 다음 선택 단추를 선택합니다.<
    3. 구성 업로드(.cscfg) 필드(및 ServiceConfiguration.Cloud.cscfg 파일)의 경우 이전 단계에서 설명한 하위 프로세스를 반복합니다.

    4. 서비스 정의 업로드(.csdef) 필드(및 ServiceDefinition.csdef 파일)의 경우 하위 프로세스를 다시 반복합니다.

  4. 구성 탭을 선택합니다.

  5. 키 자격 증명 모음 필드에서 인증서를 업로드한 키 자격 증명 모음을 선택합니다(코드 변경 섹션 앞부분). 선택한 키 자격 증명 모음에서 인증서를 찾은 후 나열된 인증서에 찾상태가 표시됩니다.

  6. 새로 구성된 프로젝트를 배포하려면 업데이트 단추를 선택합니다.

구성을 변경한 후 고객은 HTTPS 프로토콜을 사용하여 클라우드 서비스 웹 사이트와 통신할 수 있습니다. 인증서가 자체 서명된 경우 브라우저는 인증서가 안전하지 않다는 경고를 보고할 수 있지만 브라우저는 연결을 차단하지 않습니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.