Articles of iptables

Vagrant,nodejs和iptable端口转发

当我尝试将nodejs用作stream浪者(在OS X上)的Web服务器时,我遇到了一些小问题。 我的configuration文件链接如下,我只有nodejs和mongodb安装。 盒IP是10.10.56.101 (我需要另一个IP比192.168.56.101在我的学校工作)。 我尝试使用下面链接的小脚本访问nodejs服务器。 该脚本只能在端口51160上收听,并且回答OK。 首先,我没有得到任何答案,search后,我发现我需要做一个端口转发和一个iptable它的工作(命令链接下面,端口51160而不是8000 )。 我重新安装了相同configuration的stream浪机,我无法让机器继续工作。 我可以从stream浪机内curl localhost:51160 ,但是我无法从虚拟机之外获取任何内容。 档案: config.yaml: https ://gist.github.com/nobe4/0bb16fdb23279d416656 server.js: https : //gist.github.com/nobe4/639d63ef612f247d9309 iptable命令: https : //gist.github.com/kentbrew/776580#file-node-on-ec2-port-80-txt-L39

打开手机浏览器连接到节点服务器

我需要一个节点中间件,build议手机,我的应用程序是一个强制性的门户网站,所有的请求都通过iptables规则redirect到节点(快速)服务器IP和应用程序完美的作品,但手机浏览器不开始连接,我认为是接近但它不工作: app.use((req, res, next) => { let sites = [ 'localhost:3000', 'localhost', '10.0.0.1:3000', '10.0.0.1', '127.0.0.1', '127.0.0.1:3000' ]; if (sites.indexOf(req.get('host')) === -1) { res.redirect(302, '10.0.0.1'); } }); 我debugging它,像“clients3.google.com/generate_204”等网站的请求被捕获,redirect响应发送,所以我认为是有关标题或redirect代码,但… 还是有另一种方法可以轻松地(使用IPtables或在/etc/resolv.conf中)?

如何模仿一个irc服务器断开连接来testing我的nodejs irc bot?

我正在使用net.Socket模块连接到EFNET并testing我的代码,以便将重新连接事件添加到我的机器人。 有什么方法可以模拟机器人断开连接? 这个问题是非常2-3个星期的问题 – 我已经添加了事件处理程序,以便了解从IRC断开时会发生什么: irc = { info:{} , listeners : [] , socket : new net.Socket() } irc.socket.on('timeout', function() { console.log('timeout'); }); irc.socket.on('error', function() { console.log('error'); }); irc.socket.on('end', function() { console.log('end??') setTimeout(function() { //irc.socket.connect(config.server.port, config.server.addr); }, 1000 ); }); 或者,如果有人知道哪些实际事件通常与irc机器人有关,我会感激。 编辑#1:也许我可以做一些iptables和过滤端口,而它正在运行或沿着这些线?

NodeJS服务器不能从外部访问

我在Rackspace中部署了一个nodejs服务器,并可以在内部访问,如使用: curl http://127.0.0.1:8080 但是,即使我这样做,也不能从外部(互联网)访问: iptables -A OUTPUT -p tcp –dport 8080 -j ACCEPT iptables -A INPUT -p tcp –dport 8080 -j ACCEPT 这是我的代码看起来像: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Simple server\n'); }).listen(8080, "0.0.0.0"); console.log('Server running at http://0.0.0.0:8080/'); 有任何想法吗?

像公共WiFi热点中使用的节点JS互联网网关/强制门户

我想build立一个节点的互联网网关/强制门户网站。 所以我可以有一个用户“授权”他的MAC地址或IP地址,如果MAC地址是不可能的像用于WiFi热点 所以我想到的是节点可以有一个DHCP服务器,它将其IP地址作为网关。 因此,如果用户在networking浏览器上加载一个页面,它会给他们一个authentication屏幕,然后他们可以login,然后网关可以正确地路由它的数据包。 我怎样才能做node.js的授权步骤,所以如果他们没有login它提出了login页面,如果他们要正确的路由数据包?

如何以非root用户身份运行node.js?

我正在运行一个node.js服务器,这将服务于80端口的请求。 显然这需要应用程序以root身份运行(在Linux上)。 以这个post( http://syskall.com/dont-run-node-dot-js-as-root )为例,很明显有很简单的方法可以允许节点作为非root用户运行,但是我想知道是否有人对所提出的不同方法的优缺点有看法: 代码:build立侦听端口80后,使用setuid()从根端下拉到非特权用户。 使用某种types的代理服务器将请求redirect到> 1024端口(因此不需要节点以root身份运行) 使用IP表转发到另一个端口(同上节点不会以root身份运行) 谢谢