В конечном итоге я не нашел прямого решения и обнаружил, что проблема была в этой строке кода.
app.listen(process.env.PORT || 1337, () => console.log('webhook is listening' + process.env.PORT));
по какой-то причине на моем компьютере порт по умолчанию был неопределенным. Тем не менее, код не пропустил и не выбрал 1337. Он продолжает запускать сервер на неопределенном порте, по сути, не запуская его, я думаю.
Я изменил код на этот.
app.listen(1337, () => console.log('webhook is listening' + process.env.PORT));
Это решило проблему.
Я поместил сюда свою копию полного кода - https://github.com/Jay-study-nildana/FBMessengerWebHook, если кто-то хочет его использовать.
Кроме того, посмотрите на эту команду curl
curl --insecure -X GET "http://localhost:1337/webhook?hub.verify_token=<token>&hub.challenge=CHALLENGE_ACCEPTED&hub.mode=subscribe"
Я также думаю, что --insecure имеет значение, потому что по умолчанию, по крайней мере, на моем компьютере, curl продолжает искать https-версию конечной точки, которая просто недоступна в этот момент разработки кода.