Version: Unity 6.0 (6000.0)
语言 : 中文
为 Web 构建设置 Apache 服务器配置
为 Web 构建设置 Nginx 服务器配置

为 Web 构建设置 IIS 服务器配置

设置互联网信息服务 (IIS) 服务器配置文件以将 IIS 服务器与 Unity Web 构建结合使用。

IIS 服务器非常适合基于 Windows 的环境以及与 Microsoft 产品结合使用。

有关 IIS 以及如何安装和使用服务器的更多信息,请参阅 Microsoft IIS 文档

无解压缩回退功能的压缩 Web 构建的服务器配置 (IIS)

要更新 IIS 服务器配置文件,使其与压缩 Web 构建配合使用而不进行解压缩回退,请执行以下步骤:

  1. 使用以下服务器配置:

    <?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>
    
  2. 将此配置文件作为 <Application Folder>/Build/web.config 上传到服务器。

服务器配置已准备好与 Web 构建进行交互。

注意:要托管压缩不具有解压缩回退功能的 Web 构建,必须在服务器上安装 URL Rewrite IIS 模块。否则,IIS 在使用此配置文件时会抛出异常。此模块可在 Microsoft 文档的 URL 重写中找到。

为未压缩 Web 构建配置 IIS 服务器配置

要更新服务器配置文件以使其与未压缩的 Web 构建配合使用,请遵循以下说明:

  1. 使用以下服务器配置:

    <?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>
    
  2. 将此配置文件作为 <Application Folder>/Build/web.config 上传到服务器。

服务器配置已准备好与 Web 构建进行交互。

其他资源

为 Web 构建设置 Apache 服务器配置
为 Web 构建设置 Nginx 服务器配置