隧道我的localhost时,Ngrok返回405错误

时间:2018-01-28 17:27:58

标签: botframework remote-access http-status-code-405 ngrok http-tunneling

我有一个网络应用程序机器人,我想远程它,所以一些人可以测试它。我正在使用Bot框架模拟器在本地测试它并且它可以创造奇迹,但我完全没有让ngrok托管它。

(我实际上是使用... azurewebsites.net/api/messages链接我的应用程序在Azure中使用另一个机器人,但我无法使用这个,所以我正在尝试使用链接ngrok优惠我 - 这两个机器人,我管理的机器人和这个机器人,都在Azure中托管,但我不知道如何使它可用于远程访问)

我正在采取的步骤:

  1. 在Visual Studio中部署应用程序,使其在localhost:3979上运行;

  2. 使用ngrok 3979 http -host-header=rewrite localhost:3979;

  3. 在ngrok中外部打开端口
  4. 获取ngrok提供给我的转发网址之一 https://3d609207.ngrok.io

  5. 在Bot Framework模拟器中插入以前的URL;

  6. 点击“连接”。

  7. 在ngrok和Bot Framework Emulator中都返回405 Method Not Allowed

    我尝试访问我在Bot框架模拟器中插入的链接,我通常会在本地托管我的bot时看到的页面:

      

    在此处描述您的机器人以及您的使用条款等。

         

    访问Bot Framework注册您的机器人。当你注册时,   记得将机器人的端点设置为

         

    https://your_bots_hostname/api/messages

    但我无法在Bot Framework Emulator中发送或接收消息。

    此外,ngrok在HTTP请求标题下打印:

    HTTP Requests
    -------------
    
    POST /                         405 Method Not Allowed
    GET  /favicon.ico              200 OK
    GET  /                         200 OK
    

    我的MSAppID和密码在web.config中正确配置,编译结果没有错误,所以我怀疑它是代码上的东西(除非代码中有一些配置阻止远程访问该机器人的原因,但我不知道。)

    我非常感谢你对这个问题的任何帮助。谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

  

在ngrok和Bot Framework Emulator中都返回405 Method Not Allowed

如果我只提供https://xxxxxxxx.ngrok.io作为消息端点,我可以在我身边重现这个问题。

enter image description here

请尝试将https://xxxxxxxx.ngrok.io/api/messages指定为消息端点,这对我有用。

enter image description here