Azure Portal에서 App Service 앱 구성Configure an App Service app in the Azure portal

이 항목에서는 Azure Portal를 사용 하 여 웹 앱, 모바일 백 엔드 또는 API 앱에 대 한 일반 설정을 구성 하는 방법에 대해 설명 합니다.This topic explains how to configure common settings for web apps, mobile back end, or API app using the Azure portal.

앱 설정 구성Configure app settings

App Service에서 앱 설정은 응용 프로그램 코드에 환경 변수로 전달 되는 변수입니다.In App Service, app settings are variables passed as environment variables to the application code. Linux 앱 및 사용자 지정 컨테이너의 경우 App Service --env 플래그를 사용 하 여 컨테이너에 앱 설정을 전달 하 여 컨테이너에 환경 변수를 설정 합니다.For Linux apps and custom containers, App Service passes app settings to the container using the --env flag to set the environment variable in the container.

Azure Portal에서 앱의 관리 페이지로 이동 합니다.In the Azure portal, navigate to your app's management page. 앱의 왼쪽 메뉴에서 구성 > 응용 프로그램 설정을 클릭 합니다.In the app's left menu, click Configuration > Application settings.

애플리케이션 설정

ASP.NET 및 ASP.NET Core 개발자를 위해 App Service에서 앱 설정을 설정 하는 것은 web.config 또는 appsettings <appSettings> 에서 설정하는 것과 같지만 App Service의 값이 web.config 또는 appsettings의 값을 재정의 합니다.For ASP.NET and ASP.NET Core developers, setting app settings in App Service are like setting them in <appSettings> in Web.config or appsettings.json, but the values in App Service override the ones in Web.config or appsettings.json. Web.config 또는 appsettings에서 개발 설정 (예: 로컬 MySQL 암호)을 유지할 수 있지만 프로덕션 암호 (예: Azure mysql 데이터베이스 암호)는 App Service에서 안전 하 게 사용할 수 있습니다.You can keep development settings (for example, local MySQL password) in Web.config or appsettings.json, but production secrets (for example, Azure MySQL database password) safe in App Service. 로컬에서 디버그할 때 동일한 코드가 개발 설정을 사용 하 고 Azure에 배포 될 때 프로덕션 암호를 사용 합니다.The same code uses your development settings when you debug locally, and it uses your production secrets when deployed to Azure.

마찬가지로 다른 언어 스택은 런타임에 환경 변수로 앱 설정을 가져옵니다.Other language stacks, likewise, get the app settings as environment variables at runtime. 언어 스택 관련 단계는 다음을 참조 하세요.For language-stack specific steps, see:

앱 설정은 저장될 때 항상 암호화됩니다(미사용 암호화).App settings are always encrypted when stored (encrypted-at-rest).

참고

Key Vault 참조를 사용 하 여 Key Vault 에서 앱 설정을 확인할 수도 있습니다.App settings can also be resolved from Key Vault using Key Vault references.

숨겨진 값 표시Show hidden values

기본적으로 앱 설정의 값은 보안을 위해 포털에서 숨겨집니다.By default, values for app settings are hidden in the portal for security. 앱 설정의 숨겨진 값을 보려면 해당 설정의 필드를 클릭 합니다.To see a hidden value of an app setting, click the Value field of that setting. 모든 앱 설정의 값을 보려면 값 표시 단추를 클릭 합니다.To see the values of all app settings, click the Show value button.

추가 또는 편집Add or edit

새 앱 설정을 추가 하려면 새 응용 프로그램 설정을 클릭 합니다.To add a new app setting, click New application setting. 대화 상자에서 설정을 현재 슬롯에고정 시킬 수 있습니다.In the dialog, you can stick the setting to the current slot.

설정을 편집 하려면 오른쪽에 있는 편집 단추를 클릭 합니다.To edit a setting, click the Edit button on the right side.

완료 되 면 업데이트를 클릭 합니다.When finished, click Update. 구성 페이지에서 다시 저장 을 클릭 해야 합니다.Don't forget to click Save back in the Configuration page.

참고

기본 Linux 컨테이너 또는 사용자 지정 Linux 컨테이너에서 ApplicationInsights:InstrumentationKey와 같은 앱 설정 이름의 중첩 된 모든 JSON 키 구조를 키 이름에 대 한 ApplicationInsights__InstrumentationKey App Service 구성 해야 합니다.In a default Linux container or a custom Linux container, any nested JSON key structure in the app setting name like ApplicationInsights:InstrumentationKey needs to be configured in App Service as ApplicationInsights__InstrumentationKey for the key name. 즉, 모든 : __ (이중 밑줄)로 바꾸어야 합니다.In other words, any : should be replaced by __ (double underscore).

대량 편집Edit in bulk

대량으로 앱 설정을 추가 하거나 편집 하려면 고급 편집 단추를 클릭 합니다.To add or edit app settings in bulk, click the Advanced edit button. 완료 되 면 업데이트를 클릭 합니다.When finished, click Update. 구성 페이지에서 다시 저장 을 클릭 해야 합니다.Don't forget to click Save back in the Configuration page.

앱 설정의 JSON 형식은 다음과 같습니다.App settings have the following JSON formatting:

[
  {
    "name": "<key-1>",
    "value": "<value-1>",
    "slotSetting": false
  },
  {
    "name": "<key-2>",
    "value": "<value-2>",
    "slotSetting": false
  },
  ...
]

연결 문자열 구성Configure connection strings

Azure Portal에서 앱의 관리 페이지로 이동 합니다.In the Azure portal, navigate to the app's management page. 앱의 왼쪽 메뉴에서 구성 > 응용 프로그램 설정을 클릭 합니다.In the app's left menu, click Configuration > Application settings.

애플리케이션 설정

ASP.NET 및 ASP.NET Core 개발자를 위해 App Service에서 연결 문자열을 설정하는 것은 web.config의 <connectionStrings>에서 설정 하는 것과 같지만 App Service에서 설정한 값이 web.config의 값을 재정의 합니다. Web.config 및 프로덕션 암호 (예: SQL Database 자격 증명)에서 개발 설정 (예: 데이터베이스 파일)을 App Service 안전 하 게 유지할 수 있습니다.For ASP.NET and ASP.NET Core developers, setting connection strings in App Service are like setting them in <connectionStrings> in Web.config, but the values you set in App Service override the ones in Web.config. You can keep development settings (for example, a database file) in Web.config and production secrets (for example, SQL Database credentials) safe in App Service. 로컬에서 디버그할 때 동일한 코드가 개발 설정을 사용 하 고 Azure에 배포 될 때 프로덕션 암호를 사용 합니다.The same code uses your development settings when you debug locally, and it uses your production secrets when deployed to Azure.

다른 언어 스택에서는 값에 액세스 하기 위해 연결 문자열에 변수 키에 대 한 특수 형식이 필요 하기 때문에 앱 설정을 대신 사용 하는 것이 좋습니다.For other language stacks, it's better to use app settings instead, because connection strings require special formatting in the variable keys in order to access the values. 단, 응용 프로그램에서 연결 문자열을 구성 하는 경우 특정 Azure 데이터베이스 형식이 앱과 함께 백업 됩니다.Here's one exception, however: certain Azure database types are backed up along with the app if you configure their connection strings in your app. 자세한 내용은 백업 되는 항목을 참조 하세요.For more information, see What gets backed up. 이 자동화 된 백업이 필요 하지 않은 경우 앱 설정을 사용 합니다.If you don't need this automated backup, then use app settings.

런타임에 연결 문자열은 환경 변수로 사용할 수 있으며, 다음 연결 형식이 접두사로 사용 됩니다.At runtime, connection strings are available as environment variables, prefixed with the following connection types:

  • SQL Server: SQLCONNSTR_SQL Server: SQLCONNSTR_
  • MySQL: MYSQLCONNSTR_MySQL: MYSQLCONNSTR_
  • SQL Database: SQLAZURECONNSTR_SQL Database: SQLAZURECONNSTR_
  • 사용자 지정: CUSTOMCONNSTR_Custom: CUSTOMCONNSTR_

예를 들어 connectionstring1 이라는 MySql 연결 문자열은 환경 변수 MYSQLCONNSTR_connectionString1로 액세스할 수 있습니다.For example, a MySql connection string named connectionstring1 can be accessed as the environment variable MYSQLCONNSTR_connectionString1. 언어 스택 관련 단계는 다음을 참조 하세요.For language-stack specific steps, see:

연결 문자열은 저장될 때 항상 암호화됩니다(미사용 암호화).Connection strings are always encrypted when stored (encrypted-at-rest).

참고

Key Vault 참조를 사용 하 여 Key Vault 에서 연결 문자열을 확인할 수도 있습니다.Connection strings can also be resolved from Key Vault using Key Vault references.

숨겨진 값 표시Show hidden values

기본적으로 연결 문자열의 값은 보안을 위해 포털에서 숨겨집니다.By default, values for connection strings are hidden in the portal for security. 연결 문자열의 숨겨진 값을 보려면 해당 문자열의 필드를 클릭 하면 됩니다.To see a hidden value of a connection string, just click the Value field of that string. 모든 연결 문자열의 값을 보려면 값 표시 단추를 클릭 합니다.To see the values of all connection strings, click the Show value button.

추가 또는 편집Add or edit

새 연결 문자열을 추가 하려면 새 연결 문자열을 클릭 합니다.To add a new connection string, click New connection string. 대화 상자에서 현재 슬롯에 연결 문자열을 적용할수 있습니다.In the dialog, you can stick the connection string to the current slot.

설정을 편집 하려면 오른쪽에 있는 편집 단추를 클릭 합니다.To edit a setting, click the Edit button on the right side.

완료 되 면 업데이트를 클릭 합니다.When finished, click Update. 구성 페이지에서 다시 저장 을 클릭 해야 합니다.Don't forget to click Save back in the Configuration page.

대량 편집Edit in bulk

연결 문자열을 대량으로 추가 하거나 편집 하려면 고급 편집 단추를 클릭 합니다.To add or edit connection strings in bulk, click the Advanced edit button. 완료 되 면 업데이트를 클릭 합니다.When finished, click Update. 구성 페이지에서 다시 저장 을 클릭 해야 합니다.Don't forget to click Save back in the Configuration page.

연결 문자열의 JSON 형식은 다음과 같습니다.Connection strings have the following JSON formatting:

[
  {
    "name": "name-1",
    "value": "conn-string-1",
    "type": "SQLServer",
    "slotSetting": false
  },
  {
    "name": "name-2",
    "value": "conn-string-2",
    "type": "PostgreSQL",
    "slotSetting": false
  },
  ...
]

일반 설정 구성Configure general settings

Azure Portal에서 앱의 관리 페이지로 이동 합니다.In the Azure portal, navigate to the app's management page. 앱의 왼쪽 메뉴에서 구성 > 응용 프로그램 설정을 클릭 합니다.In the app's left menu, click Configuration > Application settings.

일반 설정

여기에서 앱에 대 한 몇 가지 일반 설정을 구성할 수 있습니다.Here, you can configure some common settings for the app. 일부 설정의 경우 더 높은 가격 책정 계층으로 확장해야 합니다.Some settings require you to scale up to higher pricing tiers.

  • 스택 설정: 언어 및 SDK 버전을 포함 하 여 앱을 실행 하는 소프트웨어 스택입니다.Stack settings: The software stack to run the app, including the language and SDK versions. Linux 앱 및 사용자 지정 컨테이너 앱의 경우 선택적 시작 명령 또는 파일을 설정할 수도 있습니다.For Linux apps and custom container apps, you can also set an optional start-up command or file.
  • 플랫폼 설정: 다음을 포함 하 여 호스팅 플랫폼에 대 한 설정을 구성할 수 있습니다.Platform settings: Lets you configure settings for the hosting platform, including:
    • 비트: 32비트 또는 64 비트.Bitness: 32-bit or 64-bit.
    • WebSocket 프로토콜: 예를 들어 ASP.NET SignalR 또는 socket.io에 대 한입니다.WebSocket protocol: For ASP.NET SignalR or socket.io, for example.
    • Always On: 트래픽이 없는 경우에도 앱을 로드 된 상태로 유지 합니다.Always On: Keep the app loaded even when there's no traffic. CRON 식을 사용 하 여 트리거되는 연속 WebJobs 또는 WebJobs에 필요 합니다.It's required for continuous WebJobs or for WebJobs that are triggered using a CRON expression.
    • 관리 되는 파이프라인 버전: IIS 파이프라인 모드입니다.Managed pipeline version: The IIS pipeline mode. 이전 버전의 IIS가 필요한 레거시 앱이 있는 경우 클래식 으로 설정 합니다.Set it to Classic if you have a legacy app that requires an older version of IIS.
    • HTTP 버전: HTTPS/2 프로토콜에 대 한 지원을 사용 하도록 설정 하려면 2.0 로 설정 합니다.HTTP version: Set to 2.0 to enable support for HTTPS/2 protocol.

    참고

    대부분의 최신 브라우저는 TLS를 통해서만 HTTP/2 프로토콜을 지원하는 반면에 암호화되지 않은 트래픽은 HTTP/1.1을 계속 사용합니다.Most modern browsers support HTTP/2 protocol over TLS only, while non-encrypted traffic continues to use HTTP/1.1. 클라이언트 브라우저가 HTTP/2를 사용 하 여 앱에 연결 되도록 하려면 Azure App Service에서 SSL 바인딩을 사용 하 여 사용자 지정 DNS 이름을 보호합니다.To ensure that client browsers connect to your app with HTTP/2, secure your custom DNS name with an SSL binding in Azure App Service.

    • ARR 선호도: 다중 인스턴스 배포에서 클라이언트가 세션 수명 동안 동일한 인스턴스로 라우팅되도록 합니다.ARR affinity: In a multi-instance deployment, ensure that the client is routed to the same instance for the life of the session. 상태 비저장 응용 프로그램의 경우이 옵션을 Off 로 설정할 수 있습니다.You can set this option to Off for stateless applications.
  • 디버깅: ASP.NET, ASP.NET Core또는 Node.js 앱에 대해 원격 디버깅을 사용 하도록 설정 합니다.Debugging: Enable remote debugging for ASP.NET, ASP.NET Core, or Node.js apps. 이 옵션은 48 시간 후에 자동으로 꺼집니다.This option turns off automatically after 48 hours.
  • 들어오는 클라이언트 인증서: 상호 인증에 클라이언트 인증서가 필요 합니다.Incoming client certificates: require client certificates in mutual authentication.

기본 문서 구성Configure default documents

이 설정은 Windows 앱에만 해당 됩니다.This setting is only for Windows apps.

Azure Portal에서 앱의 관리 페이지로 이동 합니다.In the Azure portal, navigate to the app's management page. 앱의 왼쪽 메뉴에서 구성 > 기본 문서를 클릭 합니다.In the app's left menu, click Configuration > Default documents.

일반 설정

기본 문서는 웹 사이트의 루트 URL에 표시 되는 웹 페이지입니다.The default document is the web page that's displayed at the root URL for a website. 목록에서 첫 번째로 일치되는 파일이 사용됩니다.The first matching file in the list is used. 새 기본 문서를 추가 하려면 새 문서를 클릭 합니다.To add a new default document, click New document. 저장을 클릭 하는 것을 잊지 마세요.Don't forget to click Save.

앱에서 정적 콘텐츠를 제공 하는 대신 URL을 기반으로 경로를 사용 하는 모듈을 사용 하는 경우 기본 문서가 필요 하지 않습니다.If the app uses modules that route based on URL instead of serving static content, there is no need for default documents.

경로 매핑 구성Configure path mappings

Azure Portal에서 앱의 관리 페이지로 이동 합니다.In the Azure portal, navigate to the app's management page. 앱의 왼쪽 메뉴에서 구성 > 경로 매핑을 클릭 합니다.In the app's left menu, click Configuration > Path mappings.

일반 설정

경로 매핑 페이지에는 OS 유형에 따라 다양 한 항목이 표시 됩니다.The Path mappings page shows you different things based on the OS type.

Windows 앱 (uncontainerized)Windows apps (uncontainerized)

Windows 앱의 경우 IIS 처리기 매핑과 가상 응용 프로그램 및 디렉터리를 사용자 지정할 수 있습니다.For Windows apps, you can customize the IIS handler mappings and virtual applications and directories.

처리기 매핑을 사용 하면 특정 파일 확장명에 대 한 요청을 처리 하는 사용자 지정 스크립트 프로세서를 추가할 수 있습니다.Handler mappings let you add custom script processors to handle requests for specific file extensions. 사용자 지정 처리기를 추가 하려면 새 처리기를 클릭 합니다.To add a custom handler, click New handler. 다음과 같이 처리기를 구성 합니다.Configure the handler as follows:

  • 확장명.Extension. 처리 하려는 파일 확장명 (예: *php 또는 handler)입니다.The file extension you want to handle, such as *.php or handler.fcgi.
  • 스크립트 프로세서.Script processor. 스크립트 프로세서의 절대 경로입니다.The absolute path of the script processor to you. 파일 확장명과 일치 하는 파일에 대 한 요청은 스크립트 프로세서에 의해 처리 됩니다.Requests to files that match the file extension are processed by the script processor. 경로 D:\home\site\wwwroot 를 사용하여 앱의 루트 디렉터리를 참조합니다.Use the path D:\home\site\wwwroot to refer to your app's root directory.
  • 인수.Arguments. 스크립트 프로세서에 대 한 선택적인 명령줄 인수입니다.Optional command-line arguments for the script processor.

각 앱에는 기본적으로 코드가 배포 되는 D:\home\site\wwwroot에 매핑되는 기본 루트 경로 (/)가 있습니다.Each app has the default root path (/) mapped to D:\home\site\wwwroot, where your code is deployed by default. 앱 루트가 다른 폴더에 있거나 리포지토리에 둘 이상의 응용 프로그램이 있는 경우 여기에서 가상 응용 프로그램 및 디렉터리를 편집 하거나 추가할 수 있습니다.If your app root is in a different folder, or if your repository has more than one application, you can edit or add virtual applications and directories here. 새 가상 응용 프로그램 또는 디렉터리를 클릭 합니다.Click New virtual application or directory.

가상 응용 프로그램 및 디렉터리를 구성 하려면 각 가상 디렉터리와 웹 사이트 루트 (D:\home)를 기준으로 해당 하는 실제 경로를 지정 합니다.To configure virtual applications and directories, specify each virtual directory and its corresponding physical path relative to the website root (D:\home). 경우에 따라 애플리케이션 확인란을 선택하여 가상 디렉터리를 애플리케이션으로 표시할 수 있습니다.Optionally, you can select the Application checkbox to mark a virtual directory as an application.

컨테이너 화 된 앱Containerized apps

컨테이너 화 된 앱에 대 한 사용자 지정 저장소를 추가할수 있습니다.You can add custom storage for your containerized app. 컨테이너 화 된 apps에는 모든 Linux 앱 및 App Service에서 실행 되는 Windows 및 Linux 사용자 지정 컨테이너도 포함 됩니다.Containerized apps include all Linux apps and also the Windows and Linux custom containers running on App Service. 새로 만들기 Azure Storage 클릭 하 여 다음과 같이 사용자 지정 저장소를 탑재 하 고 구성 합니다.Click New Azure Storage Mount and configure your custom storage as follows:

  • 이름: 표시 이름입니다.Name: The display name.
  • 구성 옵션: Basic 또는 AdvancedConfiguration options: Basic or Advanced.
  • Storage 계정: 컨테이너를 포함 하는 저장소 계정입니다.Storage accounts: The storage account with the container you want.
  • 저장소 유형: Azure blob 또는 Azure Files.Storage type: Azure Blobs or Azure Files.

    참고

    Windows 컨테이너 앱은 Azure Files만 지원 합니다.Windows container apps only support Azure Files.

  • 저장소 컨테이너: 기본 구성의 경우 원하는 컨테이너를 선택 합니다.Storage container: For basic configuration, the container you want.
  • 공유 이름: 고급 구성의 경우 파일 공유 이름입니다.Share name: For advanced configuration, the file share name.
  • 액세스 키: 고급 구성의 경우 액세스 키입니다.Access key: For advanced configuration, the access key.
  • 탑재 경로: 사용자 지정 저장소를 탑재할 컨테이너의 절대 경로입니다.Mount path: The absolute path in your container to mount the custom storage.

자세한 내용은 Linux의 App Service에서 Azure Storage 콘텐츠 제공을 참조 하세요.For more information, see Serve content from Azure Storage in App Service on Linux.

언어 스택 설정 구성Configure language stack settings

Linux 앱의 경우 다음을 참조 하세요.For Linux apps, see:

사용자 지정 컨테이너 구성Configure custom containers

Azure App Service에 대 한 사용자 지정 Linux 컨테이너 구성을 참조 하세요.See Configure a custom Linux container for Azure App Service

다음 단계Next steps