У меня Windows Server 2008 R2 Core x64 с node.js. Локальный адрес моей машины 192.168.1.40. Также у меня есть NAT, с переведенными 28966-28999 портами. Мой внешний адрес 212.232.xx.xx Я прослушал порт 28969.
Если я попытаюсь подключиться к моему серверу по http://212.232.xx.xx:28969/ из моей локальной сети, то произойдет успех. Но я не могу подключиться к http://212.232.xx.xx:28969/ за пределами моей сети.
то же самое с 80 портом.
Я попробовал команду netsh firewall add portopening tcp 28969 "Node.js"
, и ничего не изменилось.
Скрипт Node.js:
index.js:
var app = require('express').createServer();
app.listen(28969, '192.168.1.40');
var login = require('./login');
login.init(app);
login.js:
function init(app) {
var socks = require('socket.io');
....
var io = socks.listen(app);
io.of('/login').on('connection', socksEventsHandler);
....
app.get('/', function (req, res) {
res.redirect('/login');
});
app.get('/login', function (req, res) {
res.sendfile(__dirname + '/public/login.html');
});
app.get('/login.js', function (req, res) {
res.sendfile(__dirname + '/public/login.js');
});
app.get('/_login.js', function (req, res) {
res.sendfile(__dirname + '/public/_login.js');
});
....
}