Skip to content

Instantly share code, notes, and snippets.

@WesThorburn
Last active July 30, 2023 04:35
Show Gist options
  • Save WesThorburn/62ea13952749d6563ce2fb15b45f1ba8 to your computer and use it in GitHub Desktop.
Save WesThorburn/62ea13952749d6563ce2fb15b45f1ba8 to your computer and use it in GitHub Desktop.
Webassembly, wasm files, webservers and MIME types

When compiling client files to webassembly, usually you'll end up with both .js and .wasm files. By default, most webservers don't know about the wasm MIME type. You'll likely see the following error: wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.

Here is how to add the wasm MIME type (on linux systems, apache + nginx):

Open /etc/mime.types You'll see two columns, media type on the left, file type on the right Add the line application/wasm wasm

Restart your webserver and you're good to go. This will work for Apache and also the Python SimpleHttpServer.

If you're using Nginx, you'll have to edit Nginx's mime types located in /etc/nginx/mime.types Reload nginx for the changes to take effect: sudo systemctl reload nginx

@superGold
Copy link

I've been searching for a way to declare the mime type for wasm on an aws s3 bucket (static site) - no luck so far

@stevendamianakis
Copy link

Mr. corbin-c may i ask how you send the file with Content-Type: application/wasm & Content-Encoding: gzip in ngnix webserver? I have this problem with my webserver. ( https://prnt.sc/10bfog7 ) (here is the problem in screenshot)

@Maski0
Copy link

Maski0 commented Oct 20, 2022

@stevendamianakis (https://docs.unity3d.com/Manual/webgl-server-configuration-code-samples.html) this might help , there is a sample for multiple servers(Nginx, Apache) config file so that it will support gzip compression and fix the wasm error(MIME type).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment