Atavius
Atavius

Reputation: 49

Hosting bot locally on IIS

First of all I know that there are similar questions like this, but by going over all of them I realized that not single one contains all the steps to host bot on local IIS, which is why I am asking this question to collect all the info in one place. So please before flagging this as duplicate take a moment to try answer this question once and for all for everyone first.

Now that said. I have created a bot using the Bot Framework Composer and successfully published it to the Azure. Everything is working fine, but I would like to move it away from Azure to on-prem IIS server. By looking around I was only able to find these somewhat comprehensive Chinese instructions.

Steps that I did:

  1. Install IIS
  2. Install .NET Core Windows Server Hosting Bundle from here
  3. Created new AppPool and set it to No Managed Code
  4. Downloaded bot from FTP on Azure and stored in local folder
  5. Created new website on port 8080 and pointed it to the local folder

After this I am able to reach website that is telling me that the bot is ready for use on http://localhost:3978/api/messages. But when I try to connect to it by using Bot Framework Emulator it is unable to connect and I am getting error

POST 400 directline/conversations//activities

By looking at the netstat I can see that there is actually nothing running on port 3978 which leads me to believe that the IIS is running just the website and not bot itself. Any idea what I am doing wrong?

Upvotes: 4

Views: 516

Answers (1)

Sanjeevi Subramani
Sanjeevi Subramani

Reputation: 571

You mentioned in 5th point that

Created new website on port 8080 and pointed it to the local folder

but you are checking the bot is running in http://localhost:3978/api/messages which is the visual studio when you run this endpoint creates i think.

can you check the endpoint with port 8080 endpoint.

I think you need a https endpoint to make the bot work and also you need to enable that IIS endpoint with public accessible in internet so that you can connect it in the bot channel registration or Azure Bot channel.

Upvotes: 0

Related Questions