Reputation: 5634
I have an asp.net core project running on IIS Express. The URLs (http://localhost:53142/ and https://localhost:44374/) work if I type into my browser as localhost, however, if i put in my IPv4 ip address (192.168.1.72) they don't work.
Side-by-side
I can ping the 192.168.1.72 address just fine.
Why can't I access via ip, and how would I do so?
Upvotes: 8
Views: 11799
Reputation: 3960
There is a simpler solution if you have admin access to your pc, https://stackoverflow.com/a/11535395/167304
Given web app running on localhost:1234
with ip 10.10.10.10
:
netsh interface portproxy add v4tov4 listenport=1234 listenaddress=10.10.10.10 connectport=1234 connectaddress=127.0.0.1
When no longer needed, delete the record
netsh interface portproxy delete v4tov4 listenport=1234 listenaddress=10.10.10.10
For more detail see netsh interface portproxy add v4tov4
Upvotes: 2
Reputation: 538
There is a little open-source github repository to make this work. it is a small portable executable (.exe) app that makes your API (port actually) accessible via local network.
repo link: https://github.com/jocull/SharpProxy
Upvotes: 4
Reputation: 30036
IIS Express
does not allow remote connections by default.
Here are two options for you:
Configure to use UseKestrel
like
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://0.0.0.0:5000;https://0.0.0.0:5001")
.UseKestrel()
.UseStartup<Startup>();
Then, run project with ProjectName
from VS, you will be able to access by http//ip:5000
Try to create IIS Debug profile
Run VS 2017 as administrator-> Right Click project-> Properties->Debug->NEW->Enter IIS
->Launch choose IIS-> Launch IIS Profile-> Access with ip address
Update:
If you insist on IIS Express
, try the VS Extension Conveyor by Keyoti
Upvotes: 10