问题标签 [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.
node.js - 尝试转移到 iisnode 时节点应用程序 404
我正在尝试将 nodejs 应用程序从我的开发机器传输到我们的 IIS 服务器。它在我的机器上运行得非常好,但是当我将它传输到 IIS 时总是得到 404。
目录结构是这样的:
当我去:localhost/node/mysite
我得到一个404。
这是我的内容web.config
:
我尝试通过在它们前面加上前缀来更新我的快速路线,node/mysite
但这并没有奏效。
我可以告诉该节点正在接收请求,因为我已将其设置为记录所有请求,并且日志文件中有以下内容:
node.js - 使用 StaticFiles URL Rewrite 在 IISNODE 中提供静态文件
我正在尝试在 IIS 上部署 Node.js 应用程序。我在 GitHub 存储库 ( https://github.com/tjanczuk/iisnode/tree/master/src/samples )上看到了示例。
我被困在提供静态文件上。像普通的 Node 应用程序一样,我将静态文件存储在名为 public 的文件夹中。根据几个博客/论坛的建议,我在 web.config 中添加了以下规则:
但它不起作用。如果有人有演示此问题的示例应用程序,那将有很大帮助。
node.js - 基于 Node.js + Express 的应用程序未与 iisnode 一起运行
我正在用 node.js + express 和 iisnode 做一些实验。我有以下非常简单的应用程序,位于C:\tsapp-deploy\tsappsvr\TestExpress\0.0.0
:
应用程序.js:
包.json:
网络配置:
公共/index.html:
我的配置是:Windows 8.1、IIS 8;iisnode 版本 0.2.11,节点版本 v0.10.28。
从命令行 ( C:\tsapp-deploy\tsappsvr\TestExpress\0.0.0>node app.js
) 启动时,应用程序按预期运行:在浏览器中,我转到http://localhost:2709/
“Hello, World!”。
我的 IIS 当前正在运行其他基于 node.js 的应用程序,而不是使用来自类似位置(即 from C:\tsapp-deploy\tsappsvr\appname\x.y.z\index.js
)的 express,所以我认为它应该正确配置,但是当我尝试从浏览器运行这个应用程序时,输入http://localhost/tsappsvr/TestExpress/0.0.0/app.js
我得到 404 Not在 Chrome 和 Firefox 中找到(在 IE 中)或“无法获取 /tsappsvr/TestExpress/0.0.0/app.js”。
我想问题可能出在我的 web.config 中,但我不知道如何更改它以使我的应用程序正常工作。按照类似问题的其他答案中的建议,我已经尝试了对 web.config 的一些更改,但还没有成功。有什么建议么?
提前致谢。
node.js - socket.io 和 iisnode 禁止 403
我有一个 node.js socket.io 服务器应用程序,我刚刚在 Windows Server 2012 的 IIS 8.5 中移动到 IISNode。它设置为使用 https。
当我在本地浏览时一切正常,但是当我尝试使用完整域名访问它时,当我尝试打开 Web 套接字连接时出现错误 403(禁止)。
与 Dante Devine Comedy socket.io 示例一样,我的实际应用程序也会出现同样的问题。Tomasz Janczuk iisnode Dante 示例
浏览时的标准样品
或与
在同一台服务器上本地打开 socket.io Web 套接字连接
并正常工作产生以下网络捕获:
显然以上在外部访问(不是本地主机)时不起作用,所以我将网络套接字连接更改为
这失败并出现错误 403,如下所示:
我的 web.config 与 Dante 示例提供的相同,包含:
我是 node.js、socket.io 和 iisnode 的新手,对 IIS 有点陌生,所以这可能是一个简单的 iis/网站/https 问题,与 iisnode 无关。
如果有人有任何建议,我将不胜感激。
约翰。
按照 CuriousGuy 的建议,我现在得到以下网络捕获,表明切换到 Web 套接字协议尚未发生。显示的实际错误是
我尝试从更改服务器 io.set
至
但这显然是一个错误,因为然后我收到一个错误,即 io 未定义,这似乎有点奇怪。
如果我检查提琴手中的网络流量,我会看到:
当我点击最后一个网络线路时,提琴手中的以下错误消息:
iisnode 在处理请求时遇到错误。
服务器 stderr 日志显示:
javascript - express.js 网站图标未显示
我目前正在运行一个简单的 express.js 示例,只是想让网站图标正常工作。在本地一切正常,但是当我将它上传到我的生产服务器时,它只显示默认的图标。我试过清除缓存,但生产服务器图标似乎不想出现。我在 Windows 2008 aws 服务器上的 iisnode 上运行所有内容。
有谁知道可能是什么问题?
node.js - IISNode exec 静默失败
我正在尝试使用 GitHub webhooks 和 node.js 构建一个自动代码拉取服务。当我昨天运行这段代码时,它就像一个魅力,并将正确的存储库拉到正确的文件夹,但今天它只是开始默默地失败。它适用于我的开发机器。
如磁贴中所述,我使用 IISNode 在 IIS 下运行它,但我开始怀疑是否应该在没有 IIS 的情况下托管它。这是我写的代码。
为什么这突然停止工作?
编辑:我为此在 issnode 的 github 页面上打开了一个问题。https://github.com/tjanczuk/iisnode/issues/352
edi3:似乎我去 .../app.js/debug/ 时遇到了问题,它获得了标题,但似乎永远在等待从服务器获得响应。
caching - 使用 IISNode 进行客户端缓存
我在 IIS 8.5 上运行 IISNode,无法启用静态文件的客户端缓存。使用 IISNode 无需接触节点即可提供文件。当文件与 IISNode 一起提供时,它们包含Cache-Control: no-cache
标题。
如果我只托管节点并绕过 IIS 和 IISNode,我会得到Cache-Control:public, max-age=604800
标题。
某处 IIS 或 IISNode 正在设置缓存控制值。我似乎无法在 IIS 中更改它,因为当我这样做时Cache-Control:no-cache,public,max-age=604800
如何防止将 no-cache 添加到缓存控制标头?
c# - 在 Asp.Net MVC 应用程序的 VirtualDirectory 中使用 IISNode 在 IIS 内托管 Socket.IO + ExpressJS 应用程序
我有一个 ASP.NET MVC 5 应用程序和一个 NodeJs (Express+Socket.IO) 应用程序。在业务场景中,我必须在 MVC 应用程序中作为子目录运行 NodeJS 应用程序。
为了。例如,
MVC: http: //foo.com NodeJS:http: //foo.com/node
我使用 IISNode(最新版本)在 IIS 8 中托管了这两个应用程序。两个应用程序都使用 websockets。Asp.net 应用程序利用了 SignalR 和 NodeJS,利用了 Socket.IO。我遵循了https://github.com/tjanczuk/iisnode上提供的文档。
问题是当 socket.io.js 在客户端加载并尝试连接到服务器时,它返回 404-Not Found 结果。我已经为 Node 应用程序的应用程序和 server.js 附加了 web.config。我怀疑问题在于 url 重写。
这是server.js
对于 MVC 应用程序 web.config 是标准的自动生成的配置文件。
下面是我的 NodeJs 应用程序的 web.config。
下面是连接到socket io的代码。
NodeJs 应用程序中的所有文件都已正确加载,但不知何故我无法连接到 websocket。
node.js - IISNode 未加载依赖项
我正在尝试在 Azure 网站上托管此 node.js 应用程序https://github.com/Lapple/ErrorBoard,并首先在 WebMatrix 中创建了一个 node.js 应用程序。
正如应用程序所说,eb.js 是应用程序的入口点,我也在 web.config 中设置了它,但它总是说 # 没有方法“listen”并在第 1 行中断。6 在 eb.js 中。
我认为在定义服务器对象的地方没有加载依赖文件。请帮我解决这个问题。
javascript - Azure 网站中的节点 0.11.x
我正在尝试使用 0.11.x 版本的节点在 Azure 上运行节点应用程序,这样我就可以利用一些新功能(例如生成器和 Koa)。
我已阅读此问题并尝试按照步骤操作,但到目前为止没有成功:
以下是我执行的步骤:
在VS2013(update3)中,File => New Project 选择“Blank Microsoft Azure Node.js Web Application”(在Templates/Javascript/node.js下),点击OK
在 server.js 中,更改最后一行“hello world”以显示节点版本:
res.end('App running in node version ' + process.version + '\n');
在与 server.js 相同的文件夹中添加一个新文件“iisnode.yml”,其内容为:
nodeProcessCommandLine: D:\home\site\wwwroot\bin\node.exe
将node.exe(版本0.11.13)复制到“bin”文件夹(server.js所在文件夹下)
右键单击VS中的项目,选择发布,使用所有默认凭据/等创建新网站...然后单击发布
此时,“myproj.azurewebsites.net”页面出现了响应:
但我希望节点版本为 0.11.13。如果我去我的 \bin 文件夹并运行node.exe --version
它会吐出:
在本地运行(F5)似乎做正确的事: App running in node version v0.11.13
我很困惑如何让节点 0.11 在 Azure 网站上运行,有什么建议吗?