400 bad request

So today I decided to work on a pet project of mine, where a Raspberry Pi is controlling a LED light. The Pi is controlled by a website.

Cool.

Except…

When the Pi tries to connect to my local running iis express server, the response is 400 bad request.

Why ohhh why.

IP address… Yes, the servers ip has changed, but I did change the connection url on the Pi, so what then?

A little digging with fiddler didnt show anything. I mean that literally, the connection attempts didnt show on the server, at all.

It turns out it was the %userprofile%\My Documents\IISExpress\config\applicationhost.config that needed a small update to reflect the new ip address.

old:

<binding protocol=”http” bindingInformation=”*:52591:localhost” />
<binding protocol=”http” bindingInformation=”*:52591:192.168.1.222″ />

new:

<binding protocol=”http” bindingInformation=”*:52591:*” />

wohooo, no ip address needed, asterix for the win 😀

More on https://max-it.dk/wp/2014/06/12/iis-express-enable-external-request/

iis express enable external request

Shameless ripping of info from http://stackoverflow.com/questions/3313616/iis-express-enable-external-request

Add <binding protocol=”http” bindingInformation=”*:52591:*” />

to the <bindings> section of

%userprofile%\My Documents\IISExpress\config\applicationhost.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.applicationHost>
    <sites>
      <site name="iCentral" id="1580449741">
        <bindings>
          <binding protocol="http" bindingInformation="*:52591:*" />
        </bindings>
      </site>
    </sites>
  </system.applicationHost>
</configuration>

Note:
The snippet above is not a nearly a complete applicationhost.config, it just shows where the binding line is supposed to be in the hierarchy!