У меня 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');
    });

....

}

0