diff --git a/docs/content/2.deploy/providers/iis.md b/docs/content/2.deploy/providers/iis.md index bd3bfad205..b602b4b460 100644 --- a/docs/content/2.deploy/providers/iis.md +++ b/docs/content/2.deploy/providers/iis.md @@ -6,22 +6,24 @@ Deploy Nitro apps to IIS. This is an experimental preset. :: -## Using [IISnode](https://github.com/Azure/iisnode) (recommended) +## Using [IISnode](https://github.com/Azure/iisnode) **Preset:** `iis_node` ([switch to this preset](/deploy/#changing-the-deployment-preset)) -1. Install [IISnode](https://github.com/azure/iisnode/releases), and the [IIS URL Rewrite Module](https://www.iis.net/downloads/microsoft/url-rewrite). -2. In IIS, add `.mjs` as a new mime type and set its content type to `application/javascript`. -3. Deploy the contents of your `.output` folder to your website in IIS. +1. Install the latest LTS version of [Node.js](https://nodejs.org/en/) on your Windows Server. +1. Install [IISnode](https://github.com/azure/iisnode/releases) +2. Install [IIS `URLRewrite` Module](https://www.iis.net/downloads/microsoft/url-rewrite). +3. In IIS, add `.mjs` as a new mime type and set its content type to `application/javascript`. +4. Deploy the contents of your `.output` folder to your website in IIS. -## Using IIS directly +## Using IIS Handler -**Preset:** `iis-handler` ([switch to this preset](/deploy/#changing-the-deployment-preset)) +**Preset:** `iis_handler` / `iis` ([switch to this preset](/deploy/#changing-the-deployment-preset)) -If you do not wish to use IISnode, you can use IIS directly. +You can use IIS http handler directly. -1. Make sure that [Node.js](https://nodejs.org/en/) is installed on your Windows Server. -2. Make sure [`HttpPlatformHandler` Module](https://www.iis.net/downloads/microsoft/httpplatformhandler) is installed. +1. Install the latest LTS version of [Node.js](https://nodejs.org/en/) on your Windows Server. +2. Install [IIS `HttpPlatformHandler` Module](https://www.iis.net/downloads/microsoft/httpplatformhandler) 3. Copy your `.output` directory into the Windows Server, and create a website on IIS pointing to that exact directory. ## IIS Config options diff --git a/src/presets/iis.ts b/src/presets/iis.ts index 09e0ef58b1..f6b6df12e4 100644 --- a/src/presets/iis.ts +++ b/src/presets/iis.ts @@ -4,7 +4,7 @@ import { resolveFile, writeFile } from "../utils"; import { defineNitroPreset } from "../preset"; import type { Nitro } from "../types"; -export const iis = defineNitroPreset({ +export const iisHandler = defineNitroPreset({ extends: "node-server", hooks: { async compiled(nitro: Nitro) { @@ -16,6 +16,8 @@ export const iis = defineNitroPreset({ }, }); +export const iis = iisHandler; + export const iisNode = defineNitroPreset({ extends: "node-server", hooks: { @@ -42,45 +44,69 @@ export const iisNode = defineNitroPreset({ async function iisnodeXmlTemplate(nitro: Nitro) { const path = resolveFile("web.config", nitro.options.rootDir, ["config"]); const originalString = ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `; if (path !== undefined) { const fileString = await readFile(path, "utf8"); diff --git a/src/presets/index.ts b/src/presets/index.ts index a4be1c3c93..fc98a0f43d 100644 --- a/src/presets/index.ts +++ b/src/presets/index.ts @@ -26,6 +26,6 @@ export * from "./cleavr"; export * from "./layer0"; export * from "./flightcontrol"; export * from "./lagon"; -export { iis, iisNode } from "./iis"; +export { iis, iisHandler, iisNode } from "./iis"; export { _static as static } from "./static"; export * from "./github-pages";