Невозможно получить доступ к экспресс-серверу http с общедоступного IP-адреса после переадресации портов и UPNP.
Итак, у меня есть очень простой экспресс-сервер HTTP, который возвращает простой HTML-код, размещенный на порту 127.0.0.1 и 6550, который отлично работает на локальном хосте. Я поделюсь кодом в конце этого поста, но не думаю, что он много говорит.
Я хочу связаться с этим через свой общедоступный IP-адрес, но не могу (ERR_CONNECTION_TIMED_OUT). Порт также отображается закрытым при проверке с помощью онлайн-инструментов проверки портов.
У меня модем TP link TD-W9970. Это переадресация портов:
Я абсолютно уверен, что пересылаю на правильный локальный IP-адрес и использую правильный порт:
Я заметил, что мой общедоступный IP-адрес, который я получаю от Google, и тот, который я получаю от информации WAN моих маршрутизаторов, различаются.
Мой общедоступный IP-адрес от Google: 85.107.**.13.
Мой IP-адрес из информации WAN с панели маршрутизатора: 100.108.1**.1
Я думаю, это может объяснить проблему?
Можете ли вы помочь мне решить эту проблему? Спасибо
Экспресс-код:
const http = require("http");
const hostname = "127.0.0.1";
const port = 6550;
// Create HTTP server
const server = http.createServer((req, res) => {
// Set the response HTTP header with HTTP status and Content type
res.writeHead(200, {'Content-Type': 'text/plain'});
// Send the response body "Hello World"
res.end('Hello World\n');
});
// Prints a log once the server starts listening
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
})
1 ответ
Я вижу здесь две возможные вещи:
У вас двойное подключение к Интернету, что затруднит переадресацию портов через IPv4, если вообще возможно.
Также вы должны убедиться, что ваш сервер прослушивает не IP 127.0.0.1, а вместо этого 0.0.0.0 (любой IP) или IP-адрес вашей внутренней сети адаптера, я предполагаю 192.168.1.105 .