Setting up Internet Information Services for hosting Verge3D apps
Internet Information Services (IIS) is a web server solution included with most Windows versions. It is an excellent choice when you need to quickly set up a Windows machine for running Verge3D applications — whether for local testing or for serving them to the global internet community. Unlike Apache or NGINX, IIS requires no command line work or manual editing of configuration files.
In this article, we cover the most important steps — from installing IIS to successfully running your Verge3D app.
Installing IIS
For non-server Windows editions, IIS should be installed via the Windows Features tool.
Find the Turn Windows features on or off app:
enable the Internet Information Services feature, then press OK.
That's all — the server will be installed to your system and available as Internet Information Services (IIS) Manager:
Adding your website
Run IIS Manager, open Sites in the Connections panel, then click Add Website from the right-click menu:
In the Add Website window enter the name of your website (e.g. My Awesome App) then provide the Physical path to its folder. For now you can leave http and port 80 as server bindings.
Once you click OK you might see the warning telling that another website is already using the specified port. Press Yes:
Now stop the Default Web Site (you can also remove it altogether):
then switch to your own website and run it by clicking on the ▶ Start button.
Configuring permissions
To allow IIS to access the Verge3D app's folder, you must specify correct permissions. To do this, click Edit permissions... → Security → Edit:
then add IUSR and IIS_IUSRS users to the folder's permissions. By default, these will be allowed to Read & execute and List folder contents. That's what we need!
Configuring MIME types
Due to security reasons, IIS does not allow accessing files it does not know about. To add missing file types, you should edit the MIME types. We suggest doing it for the root settings:
however, per-website configuration is also OK. Click MIME Types to open the following screen:
then click Add... to open the Add MIME Type dialog:
The following extensions and the corresponding MIME types should be added for typical Verge3D apps:
| File extension | MIME type | What for |
|---|---|---|
| .gltf | model/gltf+json | Exported scene |
| .xz | application/x-xz | LZMA-compressed gltf/bin files |
| .hdr | image/vnd.radiance | Radiance HDR maps used for environment lighting |
| .ktx2 | image/ktx2 | Compressed textures |
Default document
If your Verge3D app does not have the index.html as its main HTML file (see here for more info), one additional step is required. Basically, you should specify the corresponding HTML as the default document in IIS. Click Default Document in the website settings to open the corresponding settings:
Click Add... then specify the name of the app's main HTML file in the Add Default Document dialog (e.g. my_awesome_app.html):
Running Verge3D app
Restart the website to apply the settings we edited on the previous steps, then run it using the Browse *:80 (http) link:
That's all. You can now access your website (via IP address) from various devices in your local network.
Next steps
One possible next step is to make your Verge3D app accessible from the global internet. This may require configuring secure HTTPS, which is outside the scope of this article. Thankfully, IIS is a well-documented solution, so there won't be any trouble finding detailed info using Google or AI assistants.