Настройка конфигурации сервера Apache для веб-компилирования
Настройте файл конфигурации сервера Apache для использования сервера Apache с веб-сборками Unity.
Apache — это кроссплатформенный веб-сервер с открытым исходным кодом, который можно использовать для обслуживания приложений, созданных с помощью Unity Web.
Более подробную информацию об Apache и о том, как установить и использовать его, см. в документации по Apache.
Выберите метод сборки Apache Web
Вы можете настроить веб-сборку в Apache, используя один из двух методов:
Виртуальный хост в
httpd.conf.Виртуальный хост в
.htaccess.
Рекомендуется настроить виртуальный хост в httpd.conf, если у вас есть доступ к этой конфигурации.
Использование виртуального хоста в httpd.conf метод
Чтобы настроить веб-сборки с помощью виртуального хоста в httpd.conf метод, используйте следующий код в конфигурации сервера Apache:
<Directory /var/www/html/root/path/to/your/unity/content/>
<IfModule mod_mime.c>
RemoveType .gz
AddEncoding gzip .gz
# The correct MIME type for .data.gz would be application/octet-stream, but due to Safari bug https://bugs.webkit.org/show_bug.cgi?id=247421, it is preferable to use MIME Type application/gzip instead.
#AddType application/octet-stream .data.gz
AddType application/gzip .data.gz
AddType application/wasm .wasm.gz
AddType application/javascript .js.gz
AddType application/octet-stream .symbols.json.gz
RemoveType .br
AddEncoding br .br
AddType application/octet-stream .data.br
AddType application/wasm .wasm.br
AddType application/javascript .js.br
AddType application/octet-stream .symbols.json.br
# Insert additional code here
</IfModule>
</Directory>
Использование виртуального хоста в .htaccess метод
Если вы не можете изменить httpd.conf, например, из-за отсутствия прав администратора на вашем веб-хостинге, но ваш Apache поддерживает .htaccess, то вы можете настроить .htaccess следующим образом:
# NOTE: "mod_mime" Apache module must be enabled for this configuration to work.
<IfModule mod_mime.c>
# The following lines are required for builds without decompression fallback, compressed with gzip
RemoveType .gz
AddEncoding gzip .gz
AddType application/gzip .data.gz # 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.
AddType application/wasm .wasm.gz
AddType application/javascript .js.gz
AddType application/octet-stream .symbols.json.gz
# The following lines are required for builds without decompression fallback, compressed with Brotli
RemoveType .br
RemoveLanguage .br
AddEncoding br .br
AddType application/octet-stream .data.br
AddType application/wasm .wasm.br
AddType application/javascript .js.br
AddType application/octet-stream .symbols.json.br
# The following line improves loading performance for uncompressed builds
AddType application/wasm .wasm
# Insert additional code here
</IfModule>
Улучшение производительности для gzip-сжатых сборок
Чтобы повысить скорость загрузки веб-сборки, сжатой с помощью gzip, с резервным декомпрессором, добавьте в код следующую строку:
AddEncoding gzip .unityweb
Улучшение производительности для Brotli-сжатых сборок с декомпрессией fallback
Чтобы улучшить производительность загрузки для сборок, сжатых с помощью Brotli, с резервным декомпрессированием, добавьте в конфигурацию следующую строку кода:
AddEncoding br .unityweb
Включить основное многопоточное C/C++
Если вы создали проект с Включить нативную многопоточность C/C++ активированным в Игрок настройки, вам необходимо установить заголовки сервера. Эти заголовки включают в себя Cross-Origin Opener Policy (COOP), Cross-Origin Embedded Policy (COEP) и Cross-Origin Resource Policy (CORP).
Добавьте следующий код в файл конфигурации:
<FilesMatch "\.(htm|html|js|js.gz|js.br)$">
Header add Cross-Origin-Opener-Policy "same-origin"
Header add Cross-Origin-Embedder-Policy "require-corp"
Header add Cross-Origin-Resource-Policy "cross-origin"
</FilesMatch>
Разрешить запросы на общий доступ к ресурсам из разных источников (CORS)
Чтобы разрешить запросы CORS, добавьте в конфигурацию следующий код: lang-apacheconf
Header add Access-Control-Allow-Origin "*"