Reza
Reza

Reputation: 5634

Accessing IISExpress for an asp.net core API via IP

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.

enter image description here

Side-by-side

enter image description here

I can ping the 192.168.1.72 address just fine.

enter image description here

Why can't I access via ip, and how would I do so?

Upvotes: 8

Views: 11799

Answers (3)

Jason
Jason

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

hhk
hhk

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.

sharp proxy

repo link: https://github.com/jocull/SharpProxy

Upvotes: 4

Edward
Edward

Reputation: 30036

IIS Express does not allow remote connections by default.

Here are two options for you:

  1. 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

  2. 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

Related Questions