在 viber 示例机器人中获取 http 请求 403 错误

时间:2021-01-10 18:24:29

标签: node.js http get viber-bot

我从 https://github.com/bvedad/viber-bot-sample 复制了一个节点示例 viber bot 并且不得不修改它(添加了函数 app.get() 和 app.post() 因为我有一个错误 404 Not Found for route /viber/webhook) .现在我遇到 GET HTTP Request 403 Forbidden 错误:

在端口上运行的应用程序:8181 无法在以下服务器上设置 webhook。它在运行吗? { 状态:1, status_message: 'Result[HttpRequest[GET /viber/webhook/ HTTP/1.1]@182601e9 > HttpResponse[HTTP/1.1 403 Forbidden]@769aac87] null', 聊天主机名:'SN-CHAT-06_' }

当我尝试访问地址 http://math.alpin52.ru:8181/viber/webhook 时,我收到空响应错误。 我在编写 app.listen() 而不是应该正确处理 http 的 server.listen() 时遇到了同样的问题。

怎么了?谢谢。

这是我对代码的修改:

const bodyParser = require("body-parser");

var fs = require('fs');
const https = require('https');

var httpsOptions = {
  cert: fs.readFileSync('/home/admin/conf/web/ssl.math.alpin52.ru.crt'),
  key: fs.readFileSync('/home/admin/conf/web/ssl.math.alpin52.ru.key'),
  ca: fs.readFileSync('/home/admin/conf/web/ssl.math.alpin52.ru.ca')
};

const urlencodedParser = bodyParser.urlencoded({extended: false});

var server = https.createServer(httpsOptions, app);

server.listen(port, () => {
  console.log(`Application running on port: ${port}`);
  bot.setWebhook(`${process.env.EXPOSE_URL}/viber/webhook`).catch(error => {
    console.log('Can not set webhook on following server. Is it running?');
    console.error(error);
    //process.exit(1);
  });
});
app.post("/viber/webhook", urlencodedParser, function (request, response) {
        return response.sendStatus(200);
});
app.get("/viber/webhook", urlencodedParser, function (request, response) {
        return response.sendStatus(200);
});

0 个答案:

没有答案