Я следующий код, написанный с узлом/Коа, который служит для port 80
:Веб-страница не является общедоступной через порт 80
const
koa = require('koa'),
route = require('koa-route'),
network = koa(),
common = require('koa-common'),
PORT = 80;
// enable logger middleware
network.use(common.logger('dev'));
// enable static middleware
network.use(common.static(__dirname + '/public'));
network.use(route.get('/', index));
network.use(route.get('/about', about));
function *index() {
this.body = "<h1>Is this message on my computer, or on yours...?</h1>";
}
function *about() {
this.body = "<h2>How about now...</h2>";
}
var server = network.listen(PORT, function() {
console.log('Listening on port %d', server.address().port);
});
Я зарезервировали адрес (168.192.1.91
) для хост-компьютера, настроить порт переадресация по этому адресу на port 80
, сделал исключение в брандмауэре Windows 10 для port 80
при подключении к с помощью любого протокола, и протестированы с You Get Signal:
, который подтверждает, что порт в настоящее время открыт. Когда я просматриваю localhost:80
, я вижу страницу по умолчанию. Однако, когда я печатаю публичный IP-адрес компьютера в браузер (я печатаю в одном, что я частично затемняюсь, который я считаю, должно быть правильным):
этой страница терпит неудачу загрузить со следующей ошибкой:
This site can’t be reached
109.[...] took too long to respond.
Try:
Reloading the page
Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_TIMED_OUT
и нет никакой активности в журнале Коа (который входит хорошо, когда я просматриваю туда через localhost:80
). Любые идеи, что может блокировать соединение?
Я также попытался добавить адрес хоста в качестве второго параметра, как это:
const HOST = "127.0.0.1";
var server = network.listen(PORT, HOST, function() {
console.log('Listening on port %d', server.address().port);
});
Это работает для адреса замыкания на себя, но когда мне указать публичный IP я получаю эту ошибку:
C:\Sites\order-server>node --harmony cheese.js
events.js:154
throw er; // Unhandled 'error' event
^
Error: listen EADDRNOTAVAIL [My public IP here]:80
at Object.exports._errnoException (util.js:890:11)
at exports._exceptionWithHostPort (util.js:913:20)
at Server._listen2 (net.js:1221:19)
at listen (net.js:1270:10)
at net.js:1379:9
at _combinedTickCallback (node.js:386:13)
at process._tickCallback (node.js:407:11)
at Function.Module.runMain (module.js:449:11)
at startup (node.js:142:18)
at node.js:939:3
Вы также открыли порт в своем маршрутизаторе? –
@BubbleHacker Я настроил переадресацию портов. Разве это не одно и то же? –