Articles of iis

如何在IIS中托pipe节点应用程序?

我在平均堆栈中开发应用程序。 唯一的区别是我想在IIS中托pipe我的应用程序,而不是express.js。 这样做是可能的还是可行的? 同样的可能的优点和缺点是什么? 提前致谢。

基于Node.js + Express的应用程序不能与iisnode一起运行

我正在做一些node.js + express和iisnode的实验。 我有以下非常简单的应用程序,位于C:\tsapp-deploy\tsappsvr\TestExpress\0.0.0 : app.js: var express = require('express'); var app = express(); app.use(express.static(__dirname + "/public")); var port = process.env.PORT || 2709; app.listen(port, function() { console.log('Listening on port ' + port); }); 的package.json: { "name": "TestExpress", "version": "0.0.0", "private": true, "dependencies": { "express": "3.x" } } web.config中: <configuration> <system.webServer> <handlers> <add name="iisnode" path="app.js" verb="*" […]

一个iisnode托pipe的Web应用程序可以找出它托pipe的虚拟path吗?

我正在使用iisnode在Windows上的IIS中托pipe节点Web应用程序。 当我在Web服务器(比如说Express或Restify)上设置我的路由时,我想以独立于IIS托pipe应用程序的path的方式来完成。 例如,我的应用程序可以托pipe在运行IIS的两台机器上的两个不同path上; 第一个可以在/foo托pipe,第二个在/bar 。 假设我的应用程序想要在/baz设置一个路由 – 在第一台机器上,我需要在/foo/bazconfiguration路由,然后在第二台机器上使用/bar/baz ,这意味着复制了一些configuration在IIS中。 是否有可能从iisnode托pipe的应用程序中可靠地找出path,以便我可以计算出正确的路由来设置? 还是有另一种技术可以用来避免这样做?

Uncaught TypeError:无法调用null的onClose方法

Iam在node.js聊天应用程序上工作,我已经在Windows上承载IIS上的node.js。 我的意图是包括Node.js在Asp.net mvc由Jon Galloway解释在asp.net web应用程序中执行聊天(文本,audio,video)。 我的安装细节: iisnode.js – iisnode-full-iis7-v0.2.3-x86 node.js – node-v0.8.19-x86 express.js版本 – 3.1.0 socket.io版本 – 0.9.13 在Windows 7 32位系统与IIS 8.0expression 我已经在IIS上成功托pipe了node.js,并运行示例 但是当我开始搪塞socket.io我卡住了.. 当我开始连接客户端浏览器到服务器,我在客户端浏览器说错误 Uncaught TypeError:无法调用null的socket.io.js:1771方法'onClose' 在我的服务器应用程序iam使用socket.ioconfiguration io.configure(function () { io.set('transports', [ 'xhr-polling' , 'jsonp-polling' ]); io.set("polling duration", 10); if (process.env.IISNODE_VERSION) { io.set('resource', 'node/socket.io'); } }); 这个问题是相关的版本iam使用(express,和socket.io node.js)或在我的coading,任何想法的问题请帮助我。 谢谢。

在iis上运行反应同构

我正在尝试使用iis上的iisnode使用node.js来运行反应 我已经安装了最新的节点和最新的iisnode,并使用这个stackoverflow作为指导,但不能得到错误500. 如何运行Node.JS服务器的Web应用程序? 有关如何在iis上做这个的指南?

客户端没有通过IIS节点从SocketIO接收事件

我有一个Web应用程序正在与通过IIS节点托pipe的NodeJS服务器进行套接字连接。 连接似乎是正确的,因为我解决了我最初有客户端上的404轮询错误。 但是现在,它看起来像客户端没有从IIS节点接收套接字事件。 我的理论是,因为IIS节点的行为像一个代理,事件发回到客户端在IIS节点级停止。 exports.register = function(socket) { User.schema.post('save', function (doc) { console.log("Save socket"); onSave(socket, doc); }); } function onSave(socket, doc, cb) { socket.emit('User List Update', doc); } 在Node中,上述事件触发,但在前端没有收到。 客户端看起来像这样: var socket = io.connect("http://myinternallyhostedserver:7777/reception"); socket.on('User List Update', function () { console.log('Received socket event!'); if (vm.enableAlert) { vm.alertSound.play(); } vm.getUsers(); }); 我的web.config文件如下所示: <configuration> <appSettings> <add key="virtualDirPath" […]

如何让webpack和iis一起工作?

我有Angular 2和Webpack 2启动器 ,它通过webpack-dev-server在节点上运行,而我从web-api的visual studio运行它。 问题是angular2-webpack-starter在端口3000上运行webpack-dev-server,而IIS Express在不同的端口5000上运行。 这对我来说非常重要,因为我想要使用HMR并在每次更改文件时重新加载。 那么,怎样才能把它们结合在一起呢? 在同一个端口上运行? 或任何其他解决scheme?

通过Web请求的Windows身份validationC ++ / Node.js

问题我想要使​​用Node.js的Windows身份validation 我知道IIS在ASP.NET中处理Windows身份validation,但是我无法弄清楚的是,我如何从node.js获取当前的客户端Windows用户名。 我得到,它不是通过IIS运行(并不真的想下去的IISNode路线)。 必须通过Node.js获取客户端的Windows用户名 – 即使我必须编写一个C ++库/服务。 最初的想法是,我可以在ASP.NET中设置一个Web服务,它将使用Windows身份validation,并允许我使用Web请求来获取该用户 – 但这可能太天真了! 我不想问用户的用户名和密码,因为这没有意义。 任何想法,想法或地点,我可以看看? 或者这是不可能的? 注意:这是在一个封闭的Intranet内部,并且在我们的ASP.NET应用程序和Active Directory中使用Windows身份validation。

如何处理快递中的非UTF-8编码的url

我们有一个节点js应用程序,我们最近从IIS 7上运行(通过IIS节点)转移到在Linux(Elastic Beanstalk)上运行。 由于我们切换,我们已经得到了很多非UTF-8url被发送到我们的应用程序(主要来自抓取工具),例如: Bj%F6rk IIS正在转换为Björk 。 这现在正在传递给我们的应用程序,我们的Web框架(快递)最终呼吁 decodeURIComponent('Bj%F6rk'); URIError: URI malformed at decodeURIComponent (native) at repl:1:1 at REPLServer.self.eval (repl.js:110:21) at repl.js:249:20 at REPLServer.self.eval (repl.js:122:7) at Interface.<anonymous> (repl.js:239:12) at Interface.emit (events.js:95:17) at Interface._onLine (readline.js:203:10) at Interface._line (readline.js:532:8) at Interface._ttyWrite (readline.js:761:14) 有没有推荐的安全的方式,我们可以执行相同的转换为IIS之前发送的urlstring表示? 铭记在心 我们正在接收这些严重编码的URL和请求 有一种方法来解码他们使用不赞成的unescape JavaScript函数和 这些url的大部分请求都来自Bing Bot,我们希望尽量减less对search排名的不利影响。 我们真的应该为所有传入的url做这个吗? 我们应该关注哪些安全或性能问题? 我们是否应该担心在不久的将来会被删除? 有没有更好/更安全的方法来解决这个问题(是的,我们读过的MDN文章链接到上面)

将iisnode中的Node.js环境variables(NODE_ENV)设置为Production / Development / Test

我们如何告诉iisnode在生产/开发/testing中运行我们的Node.js应用程序环境? 我们已经成功地得到了我们的Node.js应用程序与iisnode运行,但process.env.NODE_ENV出来“未定义”。 目前,我们的web.config文件是这样写的: <configuration> <system.webServer> <handlers> <add name="iisnode" path="app.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <rule name="app"> <match url="/*" /> <action type="Rewrite" url="app.js" /> </rule> </rules> </rewrite> <security> <requestFiltering> <hiddenSegments> <add segment="node_modules" /> </hiddenSegments> </requestFiltering> </security> </system.webServer> <appSettings> <add key="NODE_ENV" value="production" /> </appSettings> </configuration>