问题标签 [iisnode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 如何更新 Windows Azure 云服务映像上的 iisnode 版本
我有一个运行我的 node.js 应用程序的 Windows Azure 网站,一切正常。我最终需要运行本机 node.js 模块(光纤),这需要我迁移到 Windows Azure 云服务。我使用了转换为 Azure 云服务向导,它创建了一个 Web 角色,允许我将我的应用程序部署为云服务并在节点下运行光纤。到目前为止,一切都很好。
我的应用程序需要 WebSockets,它在 Azure 网站下受支持(当您从配置 UX 中打开它时,或多或少会自动启用)。几天来,我一直在努力让 WebSockets 与云服务一起工作,我已经确定我的问题是在云服务中默认运行的 iisnode 版本太旧,无法支持 node.js WebSockets正常的方式。云服务安装了 iisnode 1.21 版,而 iisnode 中的 WebSockets 支持直到 2.0 版才出现(我不知道为什么云服务映像使用了那个糟糕的 iisnode 旧版本)。
请注意,我不想使用工作角色并在不同的端口上监听(我收集到的是很多人如何解决这个问题)。
不幸的是,我无法弄清楚如何在我的云服务中安装更新版本的 iisnode(我认为可以在云服务启动时运行安装程序(可能通过 setup_web.cmd),但目前为止正如我所得到的。
关于我需要做什么才能让我的 Azure 云服务运行更新版本的 iisnode 的任何指示?
node.js - 当 Node 应用程序返回 4xx 时,IIS 返回 500
我通过 Windows Azure 网站使用 IISNode。
如果我的 Node 应用程序返回 2xx 状态代码(200、201 等),那么一切正常并按预期工作。
如果我的 Node 应用程序返回 4xx 状态代码,例如:(
response.send(404, "not found")
我正在使用 Restify)然后我收到一个 500 发送到客户端,正文只是“页面无法显示,因为发生了内部服务器错误。”
如果我这样做azure site log tail <sitename>
了,那么当 500 被发送到客户端时,日志包含 404 的 HTML。
我真的只是想让 IISNode/IIS 接收我的 404 并将其发送到客户端。401s、409s 等也是如此。它们都会导致发送 500。
我已经尝试过<customErrors mode="off" />
并且<httpErrors existingResponse="passThrough" />
在我的 web.config 中无济于事。这是我的 web.config 现在:
对于它的价值,除了从我的节点应用程序返回 200 之外,我无法让 IISnode 做任何事情。试图让 IIS 为我的静态文件提供服务,启用节点检查器,或者任何更有趣的 IISNode 功能对我来说都是 500。不知道为什么,很想克服它!
类似的 StackOverflow 问题
这个问题几乎正是我的问题。除了那<httpErrors existingResponse="PassThrough" />
对我不起作用。我觉得我的 IISNode 设置有更根本的问题,所以如果有人对尝试的事情有任何想法,我会全力以赴。
node.js - Node在IIS中找不到模块,可以从提示符中找到
我已经安装了一些模块,当我在命令提示符下npm install <module>
运行时我可以访问它们,但是当我在 IIS 下使用 运行应用程序时,我收到如下错误:node
iisnode
到底是怎么回事?如果我正在使用,是否有不同的方式安装模块iisnode
?
这是我web.config
的项目文件:
node.js - NodeJS 无法绑定到 Azure 内部端口
我正在尝试让 NodeJS 监听 Azure 上的内部端点。
我有以下设置。
- 我已经通过 ServiceDefinition 为端口 8082 创建了一个内部端点。
在我的 server.js 中,我有 2 个 http 服务器
server.listen(process.env.port); // External server.listen(8082); // Internal
外部端口由 IISNode 绑定并正确响应请求。
- 但是内部端口失败了
Error: listen EACCES at errnoException (net.js:901:11) at Server._listen2 (net.js:1020:19) at listen (net.js:1061:10) at Server.listen (net.js:1127:5)
如果我将端口更改为 8083,则没有错误。
有谁知道为什么 Node 无法绑定到 Azure 内部端口?
任何帮助都感激不尽。
谢谢。
windows - iisnode:未知的标准输入文件类型
我的 iisnode 在 win8/IIS8 上运行顺畅。我创建了一个非常简单的 hello world,效果很好。但是,当我尝试使用 process.stdin 时,出现以下错误:
请注意,我没有通过 process.stdout 得到这个。
我的代码:
iisnode 是对标准输入做一些时髦的事情,还是我配置错误?
node.js - 将 iisnode 指向嵌套在 iis 网站文件夹中的 server.js 文件
我无法让 iisnode 运行我的节点应用程序。我的目录结构是
如何让 iisnode 指向嵌套的 .js 文件?我试过这个,但它服务于 server.js 而不是执行它。
和
node.js - 如何使用 clientCache 为 IISnode 正确配置 web.config
我在 StackOverflow 上阅读了一些答案,最好使用 iisnode 的静态文件配置,而不是让 node.js 处理它。
没关系,但我只是找不到一种方法让它与传统的浏览缓存配置一起使用:
当我使用 node'js 正常浏览缓存时,它是这样配置(和工作)的:
我的问题是:
- 使用iisnode静态文件服务系统真的更好吗?
- 有没有办法
<clientCache ...
在 IISnode 中工作?
谢谢
node.js - iisnode 在 Windows 8 上找不到我的 32 位 node.js 安装
我已经通过 msi 安装程序安装了 iisnode x64 和 nodejs x32,这导致 node.is 被安装在
它已成功将自身安装在 PATH 环境变量中。从命令行运行“节点”可以在任何地方运行。但它不适用于 IIS,因为它会显示以下消息:
iisnode 模块无法启动 node.exe 进程。确保 node.exe 可执行文件在 web.config 的 system.webServer/iisnode/@nodeProcessCommandLine 元素中指定的位置可用。默认情况下,node.exe 应位于 PATH 环境变量中列出的目录之一中。
我已经尝试过这个博客的建议——即在 web.config 中手动设置路径。这没有帮助。我也尝试过重新安装节点。
有小费吗?
node.js - 使用 IISnode 运行 Keystone.js
我对 Keystone 和 IISnode 都很陌生,所以请耐心等待。我已经成功地能够使用 IISnode 运行 express 项目,并且我可以使用 node 运行 keystone.js 项目,但是将两者合并起来很困难。当我同时运行 ETW 跟踪时,在我关闭它之前,我多次收到“iisnode 计划重试与 node.exe 进程的命名管道连接”。我已经尝试将 iisnode 直接连接到 keystone index.js 文件(参见下面的 web.config)以及项目根目录下的 keystone.js 文件。
我的预感是我需要像往常一样将它连接到 keystone.js 文件以启动项目,但您通常需要添加一个“keystone”参数,我不太确定如何使用iis节点。谁能帮我吗?
node.js - node.js http-proxy 自定义路由
我在尝试使用 http-proxy 路由到 localhost 时遇到了麻烦。
我正在使用 IISNODE,但来自控制台应用程序也无法正常工作。
例如,如果“target”设置为 google,它也适用于在此代码段中创建的 local:9000,但不适用于在我的本地 IIS 中运行的站点
有任何想法吗?
更新:现在发布的代码片段对我有用,但仍然缺少很多工作。