IIS Express (WebMatrix) open for outside connections - asp.net

I've already enabled firewall rules for IIS Express (HTTP Traffic In) and IIS Express (HTTPS Traffic In) on ports 80 and 2012 (this one is used in WebMatrix), but I can't connect to the server from my LAN. WebMatrix is running on a virtual Windows 7 machine.
Is this a limit of IIS Express?> Yes - you can redistribute IIS Express with your applications. There are no connection limits.
ScottGu's blog

It is possible though it takes some effort, there's a great blog post on this here and Vaidy talks about IIS Developer Express on the CodeCast podcast here.

Is it listening on local ports only, i.e. do you see 127.0.0.1:80 not 0.0.0.0:80 on netstat -an?
I haven't played with IIS Express yet so I don't know what the default is or how to configure this.

I was trying your same configuration and was unsuccessful in opening the Windows 7 firewall to just IIS Express. I was successful by opening the port I was using (80) to any application rather than restricting to just one application. My guess is that IIS Express goes through a service (HTTP.SYS?) and that needs to be allowed but I have not yet researched that.

Related

Unable to call ASP.NET Web API hosted on IIS 10, Windows 10

I have created ASP.NET API endpoints on my Windows 10 PC, hosted on IIS. Using Chrome's extension app, Postman, I could call the API internally within the same machine (using localhost and even my own local IP). Example:
http://localhost/UserService/api/user/getByUsername?username=abc
and
http://192.168.0.160/UserService/api/user/getByUsername?username=abc
Then I tried using another PC (Windows 7) to connect to the same Wifi LAN that my Windows 10 PC is connected to, and attempted to call the above example URL via Postman, but it did not get through (getting "Could not get any response"error). The Windows 7 PC could not call API hosted on Windows 10 PC.
However, when I reversed the setting ie to host on Windows 7's IIS (version 7.5) and used Windows 10 PC to call instead, no issue found.
What went wrong?? Is it due to some Firewall settings?
A few things to check in Windows Firewall with Advanced Security:
Have you enabled the World Wide Web Services (HTTP Traffic-In) rule
in Windows firewall exceptions?
Do you have any entries in the Remote Computers tab?
Is the action Allow the connection?
What is the content of your Advanced tab like?
EDIT
Based on your comments, the issue is indeed a firewall issue, but not Windows Firewall with Advanced Security. McAfee firewall is blocking external access to port 80. Add an exception to McAfee to allow port 80, and possibly 443. Consult McAfee's knowledge base.
With great help from #reckface, the root cause is found, which is in fact the McAfee antivirus itself. After exploring around the UI, I found the setting to allow incoming traffic for certain port(s) without needing to turn off firewall setting entirely.
With "Web Server (HTTP) Port 80" enabled on the UI, I can now access API's from another PC.

SignalR on port 80/443

I try to make a push service that runs on port 80 (or 443). These are the only ports that has inbound rules on firewall (for now).
My server is windows server 2008 r2 and has IIS installed on it.
The question is whether can I run my SignalR app with owin (self host) on port 80 ? Will it be confllicted with the IIS ? Or is it possible to run my signalr on top of IIS and thus my IT won't change firewall configuration? or, another possibility is to install another vm that has no IIS installed on it and then I can use port 80 freely?
Thanks
You can definitely host SignalR application in IIS. It should be enough to just poblish finished application to website in IIS. SignalR wil then be located under this website.
Following this tutorial should be enough to get you started: http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

How to access ASP.NET app from another pc on the same network?

I'm running a ASP.NET on my pc and I would like to access to that app from another pc on the same network. I've tried to reach the app writing the URI of my pc on the network followed by the port number as below:
"192.168.X.X:49223/"
But it shows me an 400 error saying that it's an invalid hostname...
Is there something to do with my windows firewall or in IIS to allow access from another PC ?
Thanks for your help.
You may need to an exception in Windows Firewall.
Control Panel > Windows Firewall > Advanced Settings > Inbound/Outbound rules.
Add a new rule to both, specifying your port number and a generic name to identify its purpose.
Install IIS server on your machine, then deploy your application on that IIS server.
Refer this for Deployment assistance
To run the application on IIS instead of ASP.Net dev server you need to
Right click on solution in VS
Click on Start Options..
In Server section, Select "Use Custom Server" and then provide the URL of the application you have added earlier on IIS
Then you can easily access your website from any other machine on the same network.
Is it hosted in iis, or are you running it through Visual Studio. The funny port number (49223) tells me it's the latter.
When you run a VS project, the dev server is designd to only allow local conconnections. If you connect from a network it gets blocked by design. Their is no config around it.
What I do as a hack is run a reverse proxy like Nginx. It's a free download. Run it on your dev machine. You can tell it to listen on a port (eg 88) and then redirect tge traffic to port 49223. Give your mate the same url as before but replace the port with 88
Nb make sure your port 88 is open as per codemans answer
An example of the nginx config would be https://gist.github.com/ekinertac/5524389
This then tricks VS into thinking it came from your local machine.

unaccessible IP address using IIS 7

Recenly a network card was intalled on the server so that I can have a new IP address for my application.
Whend deploying the application on the server using IIS (using the "add site" feature) and then test the site , the site works perfectly fine from withtin the server
but when I try to access it from outside the server I get the message saying that the site is not reachable
any reason why this is happening ?
Sounds like a firewall issue. First make sure the windows firewall isn't blocking IIS. Also make sure your IT team has setup that IP address as an external server.
A few other questions about your server
1) What type of services are you hosting and is it on the standard ports? (Exhaustive list of ports on Wikipedia)
2) What version of IIS are you using?
3) Do you have a firewall/load balancer/etc between your server and the web?

IIS 7 application automatically redirecting

I have 2 servers, server A and server B. Both have IIS7 and same OS. I published through my VS2008 the same website on both servers. the problem is on one the application in IIS7 website works on the other it doesnt.
Server A - IIS7 - WebsiteA - Application (Works)
Server B - IIS7 - WebsiteA - Application (Does not work)
what are the things that i could be missing to configure IIS7 in server B ?
You need to find out what machine the IP Address is referring to.
It's possible you have firewall's, routers, and host configuration files which are effecting this.
Run a tracert to your server, and to the ip address and see where your route is going wrong.
Check you don't have multiple IP Addresses assigned to the same machine.
If you can, ask a member of your network team to help you out.
To help you more, we need to know the details of your infrastructure.

Resources