node.js - IISNode 和 Express 3 产生 http 403.13 错误

标签 node.js express iisnode

我正在我的 Win7 机器上本地的 IIS 7 上设置 IISNode。我按照网站上的说明进行操作,示例运行良好。

我在 IIS 管理器中创建了一个新网站和 AppPool 来运行一个全新的 Express 站点 shell。我添加了 web.config 以将 iisnode 模块绑定(bind)到我的起始 .js 文件。

当我浏览到默认路由 (/) 时,出现 Http 403.14 错误(服务器配置为不列出目录的内容)。

我试图将 IISNode 示例目录重新映射到我的 Express 应用程序所在的位置,但出现了同样的错误。

如果我尝试前往不存在的路线,我会收到 Connect 的 404 错误消息 Cannot VERB ROUTE

我觉得我错过了一些简单且(希望显而易见)的东西。

有没有人遇到过这个并且可以提供一些见解?即使在我可以检查的时候,在线查找也没有提供什么帮助。

最佳答案

我想出了我遇到的问题。在我的 web.config 中,我有默认的 IISNode 部分和用于将 iisnode 模块映射到我的 app.js 文件的处理程序部分。

但是,当使用 Express 时,每条路线都必须经过该文件。因此,通过添加如下所示的重写部分,它解决了我的问题。

<rewrite>
  <rules>
    <rule name="Catch All">
      <match url="/*" />
      <action type="Rewrite" url="app.js" />
    </rule>
  </rules>
</rewrite>

关于node.js - IISNode 和 Express 3 产生 http 403.13 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12375736/

相关文章:

javascript - Hapi - 用 HTML 回复

node.js - 更新数据库中现有的用户数据

node.js - express 端点接收空正文

node.js - 在 Azure Web App 上的 iisnode 上运行 Next.js 时出现问题

node.js - 在 IISNode 中设置多个环境变量

node.js - 作为学生从 Moodle API 获取信息

node.js - 如何使用 Node (express.js) 后端和 create-react-app 作为前端运行 Jest 测试

node.js - 当更新时未传递相应值时,值在数据库内设置为 null

node.js - 使用 IISnode 运行 Keystone.js

node.js - 在子域上与 redis 和 passport 共享 session ?