Avatar of StriderHiryu
StriderHiryu
Flag for United States of America asked on

Is there a way to retrieve a list of all URLs that a web server using IIS will respond to?

Here's the scenario:
I have a web application that creates a number of web sites on the server it's installed.  Is there a way to get a list of all the URLs used on IIS on that server?  I'd like to see any URL that's listed whether it directs to a web page, redirects to another URL, etc.

I've tried googling this, but I just get pages and pages of things to try that never seem to give me the info I'm looking for.

I'm a complete newbie to IIS.
Microsoft IIS Web Server

Avatar of undefined
Last Comment
StriderHiryu

8/22/2022 - Mon
Charlie Arehart

Do you really mean every url that might be served, which would mean every page (every dynamic or static file)?

Or do you mean perhaps every DOMAIN (or IP) that IIS is defined to be served?

The former would be more challenging, but it could be obtained by various means to just list every file in every web accessible folder.

The latter may really be what you mean, and that can be found by listing every binding in every site in iis, which can be done via the iis ui or at the command line such as with tools like appcmd.

Even then, note that if you have a binding for all ips (*) and no domain name (like the default site is defined out of the box), then you CANNOT tell from that info what domains might come in, as ANY could, if directed to your server's ip address from the definition in any dns server or hosts file.

(I have just added another reply, answering the question a different way.)
Charlie Arehart

Adding to my last reply, I was responding to what was asked: what urls COULD a given IIS server serve.

A different question would be to list all urls that a given IIS server (or site/s) HAD ever served.

The latter could be obtained via the IIS logs, for all sites served. There are tools (like the free and venerable logparser) which could aggregate all logs for all sites and produce a report of each distinct url ever served.
StriderHiryu

ASKER
Thanks for the reply.

In this case I mean every URL.  This particular IIS deployment has a single role which is for an internal application server.  We want to make some aspects of that application available over the Internet using a reverse proxy.  We've found that once published, any external user can access the IIS default page (I've heard this can be disabled in IIS), including many pages, like the application's admin console, which we do not want to be accessible externally.  The solution we've come up with is within the reverse proxy, point specific URLs that we don't want to be accessible to an error page or possibly a redirect.  We need a list of URLs from the application server to do so.

I'm new to a lot of these concepts, so I apologize if I'm not explaining this very well.
Your help has saved me hundreds of hours of internet surfing.
fblack61
ASKER CERTIFIED SOLUTION
Charlie Arehart

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
StriderHiryu

ASKER
Thanks.