node.js https server.listen бросает getaddrinfo ENOTFOUND example.com - PullRequest
0 голосов
/ 24 сентября 2018

Я получил сервер экспресс-JavaScript, работающий на сервере Debian 7.Я установил его около 8-10 дней назад, и он работал нормально.Я мог запросить все доступные пути и получить правильные ответы.

Сегодня я понял, что по какой-то причине запрос https://example.com:1234/examplepath больше не работает.Я вошел в систему на своем сервере и увидел, что экспресс-сервер все еще работает, но запросы не поступили.Поэтому я остановил сервер и попытался запустить его снова.Но то, что сработало 8-10 дней назад, теперь неожиданно выдает ошибку

events.js:160
  throw er; // Unhandled 'error' event
  ^

Error: getaddrinfo ENOTFOUND example.com
    at errnoException (dns.js:28:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

Вот соответствующий код моего server.js.

const app = express();
const helmet = require('helmet');
app.use(helmet());
app.use(helmet.contentSecurityPolicy({
    directives: {
        defaultSrc:["'self'"]
    }
}));
app.use(helmet.expectCt());
app.use(helmet.noCache());
app.use(helmet.referrerPolicy());

const port = 1234;
const hostname = 'example.com';

const options = {
    key: fs.readFileSync('/etc/letsencrypt/live/example.com/privkey.pem'),
    cert: fs.readFileSync('/etc/letsencrypt/live/example.com/fullchain.pem')
};

...

MongoClient.connect(db.url, (error, database) => {
    if (error) return console.log(error);

    require('./app/routes')(app, database.db("placeholder"), config);

    https.createServer(options, app).listen(port, hostname, () => {
        console.log('We are live on ' + hostname + ':' + port);
    });
});

Созданиесервер с https.createServer работает, но при вызове listen () выдается ошибка, упомянутая вверху.Сертификаты обновлены и делают .listen (порт, 'localhost', () работает нормально.

Я ничего не изменил в коде или на сервере.

1 Ответ

0 голосов
/ 14 октября 2018

Ну, оказывается, мой провайдер домена испортил.Все снова работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...