-1

I am trying to access http://localhost:25436/ from my iPad. I have looked at many similar questions on Stack Overflow and elsewhere and none of them have fixed the problem.

I am using Visual Studio 2013 to build the site so I'm pretty sure my application.config path is ...\Documents\IISExpress\config\applicationhost.config.

This is what my site bindings looks like:

<bindings>
    <binding protocol="http" bindingInformation="*:25436:*" />
    <binding protocol="https" bindingInformation="*:44300:*" />
</bindings>

I have ran these commands in the command prompt as administrator:

netsh http add urlacl url=http://*:25436/ user=everyone

netsh http add urlacl url=https://*44300/ user=everyone

And I have ran this command to allow it through the firewall:

netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=25436 profile=private remoteip=localsubnet action=allow

When I run IIS Express I see:

Successfully registered URL "http://*:25436/" for site "MySite" application "/"

Successfully registered URL "https://*:44300/" for site "MySite" application "/"

Registration completed for site "MySite"

My IP is 10.0.0.249 and when I try to access http://10.0.0.249:25436 from my iPad it sits there trying to connect for a while and then I get the error:

This webpage is not avaialable

ERR_CONNECTION_TIMED_OUT

Also, nothing happens in the IIS Express window (no message saying that there was a connection attempt or anything).

I have also tried the iisexpress-proxy. I installed the proxy using npm and ran this command: iisexpress-proxy 25436 as 3000

Then, when I try to access http://10.0.0.249:3000 from my iPad, I see this message in the IIS Express window:

Request started: "GET" http://localhost:25436/

And almost immediately after that it says:

Request ended: http://localhost:25436/ with HTTP status 200.0

However, the web page on my iPad still continues trying to load the web page forever.

I would like to do this without the proxy if I can, but the proxy seems to be closer to working. However, I can't figure out what I'm missing or why the page won't load.

  • localhost means "This Host". You can't access localhost on one system from another system. – joeqwerty Jan 06 '17 at 17:49
  • But I have it running *:25436, not localhost, so shouldn't it work from anywhere? – Wes Thompson Jan 06 '17 at 17:56
  • Ah, I missed that part. My suggestion would be to enable logging in IIS and then attempt to connect from the iPad. If you don't see any entries in the log then run a packet capture on the IIS box and try again. Then look at the capture and see if you see any incoming connections from the iPad. – joeqwerty Jan 06 '17 at 18:00

1 Answers1

0

Finally solved the issue. Turns out there were two problems.

First, I had to add this line to my Web.config file in my project:

<add input="{HTTP_HOST}" pattern="10\.0\.0\.89" negate="true" />

With 10.0.0.89 being my IP address that I was running IIS Express on.

Second, I needed to clear the browser's cache because of a permanent rewrite rule in the application that the browser stores. This was causing a redirect to an incorrect secure connection because it was still trying to route to the old connection.