IIS(인터넷 정보 서비스) 서버 구성 파일을 설정하여 Unity 웹 빌드에 대해 IIS 서버를 사용하게 합니다.
IIS 서버는 Windows 기반 환경 및 Microsoft 제품과 함께 사용하기에 적합합니다.
IIS와 서버 설치 및 사용 방법은 Microsoft IIS 기술 자료에서 확인하십시오.
IIS 서버 구성 파일이 압축 풀기 폴백 없이 압축된 웹 빌드에서 작동하도록 업데이트하는 방법은 다음과 같습니다.
다음 서버 구성을 사용합니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<!--
Compressed Unity builds without decompression fallback can't be properly hosted on a server which
has static compression enabled because this might result in the build files being compressed twice.
The following line disables static server compression.
-->
<urlCompression doStaticCompression="false" />
<!-- To host compressed Unity builds, the correct mimeType should be set for the compressed build files. -->
<staticContent>
<!--
NOTE: IIS will throw an exception if a mimeType is specified multiple times for the same extension.
To avoid possible conflicts with configurations that are already on the server, you should remove the mimeType for the corresponding extension using the <remove> element,
before adding mimeType using the <mimeMap> element.
-->
<!-- The following lines are required for builds compressed with gzip, which don't include decompression fallback. -->
<remove fileExtension=".data.gz" />
<mimeMap fileExtension=".data.gz" mimeType="application/gzip" /><!-- The correct MIME type here would be application/octet-stream, but due to Safari bug https://bugs.webkit.org/show_bug.cgi?id=247421, it's preferable to use MIME Type application/gzip instead. -->
<remove fileExtension=".wasm.gz" />
<mimeMap fileExtension=".wasm.gz" mimeType="application/wasm" />
<remove fileExtension=".js.gz" />
<mimeMap fileExtension=".js.gz" mimeType="application/javascript" />
<remove fileExtension=".symbols.json.gz" />
<mimeMap fileExtension=".symbols.json.gz" mimeType="application/octet-stream" />
<!-- The following lines are required for builds compressed with Brotli, which don't include decompression fallback. -->
<remove fileExtension=".data.br" />
<mimeMap fileExtension=".data.br" mimeType="application/octet-stream" />
<remove fileExtension=".wasm.br" />
<mimeMap fileExtension=".wasm.br" mimeType="application/wasm" />
<remove fileExtension=".js.br" />
<mimeMap fileExtension=".js.br" mimeType="application/javascript" />
<remove fileExtension=".symbols.json.br" />
<mimeMap fileExtension=".symbols.json.br" mimeType="application/octet-stream" />
</staticContent>
<!--
Hosting compressed Unity builds without decompression fallback relies on native browser decompression,
therefore a proper "Content-Encoding" response header should be added for the compressed build files.
NOTE: IIS will throw an exception if the following section is used without the "URL Rewrite" module installed.
Download the "URL Rewrite" module from https://www.iis.net/downloads/microsoft/url-rewrite
-->
<rewrite>
<outboundRules>
<!--
NOTE: IIS will throw an exception if the same rule name is used multiple times.
To avoid possible conflicts with configurations that are already on the server, you should remove the mimeType for the corresponding extension using the <remove> element,
before adding mimeType using the <mimeMap> element.
-->
<!-- The following section is required for builds compressed with gzip, which don't include decompression fallback. -->
<remove name="Append gzip Content-Encoding header" />
<rule name="Append gzip Content-Encoding header">
<match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="\.gz$" />
</conditions>
<action type="Rewrite" value="gzip" />
</rule>
<!-- The following section is required for builds compressed with Brotli, which don't include decompression fallback. -->
<remove name="Append brotli Content-Encoding header" />
<rule name="Append brotli Content-Encoding header">
<match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="\.br$" />
</conditions>
<action type="Rewrite" value="br" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
이 구성 파일을 서버에 <Application Folder>/Build/web.config로 업로드합니다.
이제 서버 구성이 웹 빌드와의 상호작용할 수 있게 되었습니다.
참고: 압축 풀기 폴백 없이 압축된 웹 빌드를 호스팅하려면 서버에 URL Rewrite IIS 모듈을 설치해야 합니다. 그렇지 않으면 IIS는 이 구성 파일을 사용할 때 예외를 발생시킵니다. 이 모듈은 Microsoft의 URL 재작성 관련 기술 자료에서 사용할 수 있습니다.
압축되지 않은 웹 빌드에서 작동하도록 서버 구성 파일을 업데이트하는 방법은 다음과 같습니다.
다음 서버 구성을 사용합니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<!--
IIS does not provide default handlers for .data and .wasm files (and in some cases .json files),
therefore these files won’t be served unless their mimeType is explicitly specified.
-->
<staticContent>
<!--
NOTE: IIS will throw an exception if a mimeType is specified multiple times for the same extension.
To avoid possible conflicts with configurations that are already on the server, you should remove the mimeType for the corresponding extension using the <remove> element,
before adding mimeType using the <mimeMap> element.
-->
<remove fileExtension=".data" />
<mimeMap fileExtension=".data" mimeType="application/octet-stream" />
<remove fileExtension=".wasm" />
<mimeMap fileExtension=".wasm" mimeType="application/wasm" />
<remove fileExtension=".symbols.json" />
<mimeMap fileExtension=".symbols.json" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
이 구성 파일을 서버에 <Application Folder>/Build/web.config로 업로드합니다.
이제 서버 구성이 웹 빌드와의 상호작용할 수 있게 되었습니다.