【问题标题】:404 Not Found with ngrok and Bot Framework404 Not Found with ngrok 和 Bot Framework
【发布时间】:2021-04-16 08:57:41
【问题描述】:

我正在尝试在 Bot Framework Emulator 上本地调试机器人。

我已经安装了 ngrok,并从模拟器本身开始(使用 framefork 提供的设置)。 bot 使用npm start 正确启动,所以我将 URL 放在 Bot Framework Emulator 上并检查了调试模式。

当它开始模拟时,here 停止并查看 ngrok 交通检查器,我得到了this

我已经尝试重新启动框架、机器人本身并检查 ngrok 是否已经在运行(我找不到任何线索),所以任何建议都会很有用,提前感谢!

【问题讨论】:

    标签: node.js azure botframework ngrok


    【解决方案1】:

    我以前用c#创建了一个团队对话机器人,当我在本地环境中测试它时,我需要使用ngrok将我的服务公开到互联网,以便我在azure portal中创建的bot服务可以监听。

    我使用了这个命令ngrok http -host-header=rewrite 3978,然后我可以得到一个与localhost:3978相同的'https' url,并将这个url+'/api/messages'设置为'消息传递端点'。

    顺便说一句,我需要在 appSetting.json 中使用创建“机器人频道注册”时创建的天蓝色广告应用程序的值设置 appId 和应用程序机密。我记得如果我使用错误appId,ngrok会得到404错误。

    ======================更新=========================

    由于我真的无法理解错误,请将您的操作与我的操作进行比较,并在需要时提供更多详细信息。

    我安装了 Bot Framework Emulator 并在本地进行了测试。首先我installed it,然后我按照tutorial进行配置。我使用了上面提到的 c#,所以当我的机器人程序在本地运行时,它会向我显示成功的网站,其 url 为“http://localhost:3978/”,所以我在模拟器中打开一个机器人,如下所示,然后单击'连接',请注意,我从未做过任何其他配置,例如设置环境变量,所有操作都包含在屏幕截图中:

    经过这些步骤,我可以到达它。顺便说一句,如果我没有输入appid和secret,我会得到一个错误'Unauthorized',如果我使用了错误的id和secret,就会出现一个'incorrect'的错误。

    你正在使用 nodejs 来编写一个机器人,所以也许 appId 和 secret 可以在 .env 中找到?

    【讨论】:

    • 我试过这个命令,但 Bot Framework Emulator 似乎没有看到 ngrok 正在运行。我遇到了两个问题: 1. 如果我使用这个命令,它会在启动我的仿真时给我一个类似“Failed to spawn ngrok”的错误; 2. 我再次尝试让 ngrok 从仿真开始,但它只是停止了,我什至无法得到我的机器人的欢迎词。
    • 更新:我无法编辑上一个commnt 所以......我想补充一点,即使我使用你的命令并且我没有启动ngrok,错误“无法生成ngrok”也会发生使用模拟器,它现在就发生了。
    • @SimonaPentangelo 你的问题解决了吗?有什么进展吗?
    • @SimonaPentangelo,你的问题解决了吗?
    • @Tiny-wa 我也想标记@ranusharao,但它似乎不起作用。无论如何,几天后我设法解决了这个问题,我没有使用命令 ngrok http -host-header=rewrite 3978 因为它对我不起作用,但我不知道最终是什么使它起作用。
    猜你喜欢
    • 2019-05-12
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多