소개
이 문서에서는 ECE 웹 서버 설계에 대해 설명하고 IIS와 관련된 가장 일반적인 문제를 해결하는 방법을 보여 줍니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- 엔터프라이즈 채팅 및 이메일(ECE)
- Microsoft IIS(인터넷 정보 서비스)
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.
웹 서버 아키텍처
ECE 11.6 및 12.0은 IIS 버전 8.5를 기반으로 합니다. ECE 웹 서버는 IIS를 사용하여 프런트 엔드 서버로 작동하고 ECE 애플리케이션 서버는 백 엔드 서버로 작동합니다.ECE 웹 서버의 주 작업은 사이트 콘텐츠(기본 폴더 C:\ECE\eService)를 표시하는 것이며 응용 프로그램 서버에서 최종 사용자와 표시된 콘텐츠 간의 상호 작용, 로직을 담당합니다.ECE 애플리케이션 서버는 웹 서버와 함께 작동하며, 웹 서버는 한 서버가 표시되고 다른 서버가 상호 작용합니다.
모든 수신 트래픽은 프런트 엔드로 이동합니다.즉, 사이트 바인딩을 기반으로 포트 80/443을 수신해야 합니다(IIS 관리자 > 기본 웹 사이트 > 바인딩).
참고:이 보기는 HTTP를 통해서만 WEB 서버와의 통신이 이루어지는 기본 보기입니다.HTTPS 활성화 방법에 대한 자세한 지침은 ECE Installation and Configuration Guide, SSL Configuration 장을 참조하십시오.
HTTP는 클라이언트와 서버 간의 요청 응답 프로토콜로 작동하며, 여기서 클라이언트는 웹 브라우저입니다.모든 작업은 브라우저에서 서버에 HTTP 요청을 제출할 때 시작됩니다.해당 요청은 ECE 웹 서버에서 처리하고 ECE 데이터베이스에서 응답을 수신한 다음 클라이언트에 대한 HTTP 응답으로 반환됩니다.
기본적인 HTTP 데이터 흐름은 Web Browser(웹 브라우저) > ECE Web Server(IIS) > ECE Application Server(ECE 애플리케이션 서버) > ECE Database Server(MS SQL)입니다. 로드 밸런서 뒤에서 웹 서버를 구성할 수 있습니다.
팁:ECE 환경에서는 ECE 웹 서버 및/또는 LB를 DMZ에 유지하는 것이 좋습니다.
애플리케이션 서버 상호 작용
웹 서버가 요청을 APP 서버로 리디렉션하는 방법
ApplicationHost.config는 IIS 구성의 루트 파일입니다.여기에는 모든 사이트, 애플리케이션, 가상 디렉토리 및 애플리케이션 풀에 대한 정의와 웹 서버 설정에 대한 전역 기본값이 포함됩니다.
ApplicationHost.config 파일은 %WINDIR%\system32\inetsrv\config 폴더에서 찾을 수 있습니다.
ECE 웹 서버 구성 요소가 설치되면 설치 프로세스는 IIS의 핵심 파일(ApplicationHost.config)에 대한 ECE 요구 사항을 기반으로 변경합니다.설치 과정에서 두 개의 애플리케이션이 생성됩니다.첫 번째는 파티션 0과 관련된 모든 내용이 들어 있는 시스템 응용 프로그램입니다. 파티션 1과 관련된 기본 응용 프로그램입니다. 관리 콘솔, 라이트 에이전트, 수퍼바이저 콘솔, 보고서 등이 포함됩니다.ECE 12.x에서 Light Agent는 별도의 애플리케이션의 일부로 생성되며 12.x 고객은 Finesse를 사용하지 않고도 운영 환경에서 사용할 수 있습니다.
다음 설정은 ECE 설치 관리자가 응용 프로그램의 ApplicationHost.config에 추가됩니다.
<sites>
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
</application>
<application path="/system" applicationPool="DefaultAppPool">
<virtualDirectory path="/" physicalPath="C:\ECE\eService" />
<virtualDirectoryDefaults userName="CC\ipccadmin"password="[enc:AesProvider:hzS/wGBY0K6+gZcYgQstzLqbstl1v71LMBwdPyPZyUM4769Txc4kCGpDgX3xc96L:enc]" />
</application>
applicationPool="DefaultAppPool"> <virtualDirectory path="/" physicalPath="C:\ECE\eService" /> <virtualDirectoryDefaults userName="CC\ipccadmin" password="[enc:AesProvider:0LYLPJwWZjuKhRHe2WLBa1Ysk8Zj8hiPqUbqzkVRKKI=:enc]" /> </application>
applicationPool="DefaultAppPool"> <virtualDirectory path="/" physicalPath="C:\ECE\eService" /> <virtualDirectoryDefaults userName="CC\ipccadmin" password="[enc:AesProvider:VtxnHOSTlS2xo1er82ROFEAyC4PeF5a9qnasmaR+WOg=:enc]" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="https" bindingInformation="*:443:" sslFlags="0" /> </bindings> </site>
ECE 설치 프로그램은 모든 것을 관리하므로 IIS 관리 콘솔에서 수동 컨피그레이션 변경을 수행하지 않아야 합니다.변화가 없으면 모든 것이 정상적으로 작동합니다.
설치 디렉토리에 있는 eService 폴더의 전체 레이아웃입니다. C:\ECE\eService
올바른 응용 프로그램 기능을 위해 IIS에서 연결할 수 있어야 하는 구성 요소가 여러 개 있으므로 시스템은 전체 eService 폴더에 대한 액세스를 제공합니다.
- bin에 모든 초기화/시작 파일이 포함되어 있습니다.
- 컨피그레이션에 모든 컨피그레이션 파일 포함
- 로그는 애플리케이션의 실시간 로그를 포함합니다.
IIS에서 사용하는 기본 폴더는 템플릿 및 웹입니다.
- 진입점(채팅/콜백 템플릿)에 오는 모든 요청에 사용되는 템플릿
- 웹 콘솔(관리자, 시스템, 툴 등)에 대한 요청에 사용되는 웹
플랫폼의 다른 요청은 리디렉션으로 처리됩니다.예를 들어, 에이전트 가용성 API 요청(ECE_webserver_name/system/egain/chat/entrypoint/agentAvilability/1000)을 사용할 경우 IIS는 리디렉션 URL 재작성 규칙을 사용하여 해당 요청을 ECE 애플리케이션 서버 포트 9001로 리디렉션합니다.
ECE 버전에 따라 재작성 규칙은 ApplicationHost.config 파일 또는 %SystemDrive%\inetpub\wwwroot에 있는 Web.config 파일에 저장됩니다.이 파일에서 이 규칙 정의를 포함하는 <rewrite> 섹션을 볼 수 있습니다.
설치 관리자가 재작성 섹션을 처리하지만, 경우에 따라 이 데이터를 수정할 수 있으므로 채팅 템플릿이나 API가 제대로 작동하지 않습니다.그래서 그것이 여러분이 그러한 증상들을 볼 때 검사되어야 하는 첫번째 장소입니다.
앱 서버 구성
이중화되지 않은 솔루션에서 애플리케이션 서버는 사용자 지정이 필요하지 않습니다.설치 프로그램은 직접 시스템을 사전 구축하고 구성합니다.그러나 HA(High Availability) 구축에서는 여러 웹 및 애플리케이션 서버와 함께 ECE를 설치할 수 있습니다.이 경우 구축의 각 웹 서버에 대해 별도의 애플리케이션 서버(1~1 맵)를 설치해야 합니다.
어떤 애플리케이션 서버가 어떤 웹 서버와 연결되어 있는지 어떻게 알 수 있습니까?
이를 확인하는 가장 빠른 방법은 웹 서버에 있는 구성 파일을 열고 worker.default.host 매개 변수를 확인하는 것입니다.
C:\ECE\eService\installation\egain-plugin\workers.properties
IIS의 HTTP 응답 헤더
HTTP 응답 헤더는 요청한 콘텐츠가 있는 서버에서 다시 전송된 문자열의 이름-값 쌍입니다.일반적으로 브라우저가 컨텐츠를 캐시해야 하는 방법, 컨텐츠 유형, 서버에서 실행되는 소프트웨어 등과 같은 기술 정보를 전송하는 데 사용됩니다.HTTP 응답 헤더는 클라이언트에서 서버의 응답을 렌더링하도록 검증한 헤더입니다.정적 요청 또는 동적 요청일 수 있습니다.
ECE에서는 모든 애플리케이션에 고유한 HTTP Responses Headers 속성이 있습니다.웹 서버에 들어오는 모든 요청에는 기본적으로 이 헤더가 있습니다.
X-UA-Compatible은 페이지를 렌더링해야 하는 Internet Explorer 버전을 선택할 수 있는 문서 모드 메타 태그입니다.브라우저가 특정 버전의 표준으로 렌더링되도록 강제합니다(IE 9 기준).
설치 중에 설치 프로그램이 X-UA-Compatible 헤더를 추가하지 않는 경우도 있습니다.이는 설치 중에 사용한 계정 권한 때문에 발생할 수 있습니다.이를 해결하려면 이 매개변수를 수동으로 추가할 수 있습니다.
주의:다른 헤더는 없어야 합니다.
IIS 관리자 권한 부여
응용 프로그램 서버가 실행 중이지만 응용 프로그램 서버를 통과할 수 없는 경우 IIS 페이지에 오류가 발생하면 IIS 권한 부여 설정을 확인하는 것이 도움이 될 수 있습니다.설치하는 동안 사용한 계정이 eService 폴더를 읽을 수 없을 수 있습니다.
IIS 관리자에서 응용 프로그램 풀을 선택하고 기본 설정을 선택한 경우 이 창이 표시됩니다.
여기서는 기본 경로에서 작업을 수행할 수 있는 전체 권한이 있는 사용자 이름과 비밀번호를 지정합니다.응용 프로그램 풀 ID에 테스트 설정... 버튼을 선택하여 실제 경로에 대한 읽기 액세스 권한이 있는지 확인합니다.인증 또는 권한 부여 옆에 노란색 아이콘이 표시되면 계정의 자격 증명과 권한을 확인해야 합니다.
또한 웹 서버를 로컬 네트워크에서 DMZ로 이동하는 시나리오가 될 수 있습니다.현재 도메인 사용자가 DMZ에 존재하지 않는 경우 새 사용자 자격 증명도 여기에서 업데이트해야 합니다.도메인 사용자 또는 로컬 관리자일 수 있습니다.