First you need to identify if you are every getting to the IIS box. If you're not, then you're obviously never going to get anywhere. I'd verify that using the IIS Logs (%SystemDrive%\inetpub\logs\LogFiles) by generating a "unique" request that you'll easily be able to find. (http://hostname/MyFile.txt?Unique=1)
If you are getting to the web server, you then need to identify what is causing the redirect. For that, I would recommend capturing a Failed Request Trace Log (https://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis). When you define the condition, you could do status codes 300-399 which will capture all "300" reasons. Hopefully from that you'll be able to identify what in the workflow is causing the redirect.
If that doesn't help, if you can provide more details about what is happening and how your server/network is setup, it may help.
Good luck
Sounds like you need a "redirect rule"
It'd be something like:
For another sample, check out https://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module especially under the heading "Creating a redirect rule"
Hollar if you have any questions/issues.
Please give more information about the following:
- what programming language
- which sql server (mssql, mysql, ...)
- which content management system? usually you will find tons of resource on the installation process with IIS (see https://www.drupal.org/docs/develop/local-server-setup/windows-development-environment/installing-on-windows-server )
> if it is even used by some users of the community or if anybody has more information about the status of the project
I can't answer to this, but I do IIS admin tasks via web apps using https://www.nuget.org/packages/Microsoft.Web.Administration/
You can't just fire HTTP requests at it (we integrate it into our own back end api), but it isn't going away as a project.
You can use PerfMon to capture counters in the future. Request/sec is a good example: https://www.datadoghq.com/blog/iis-metrics/
Otherwise, parsing those InetPub logs is how I'd normally do it. LogParser is an ancient tool but can easily chop up the W3C logs.
Thanks very much, yeah I will probably have to do that, divide and conquer.
No, did not check the event viewer but I will. Just there are a lot and I mean a lot of rules and it sucks to have to copy them one by one or in chunks.
Have you tried this online tool before?
https://elmah.io/tools/configvalidator/
Wonder if work stuff can be uploaded there.
I don't know much about XML, newbie here. Is the formatting of the rules important, does having extra spaces break the rules?
IIS has a way of reading the redirect rules from your web.config.
Open IIS, select your site on the left panel, then go to the "URL Rewrite" module. You'll see all the redirect rules here and you can disable or delete as necessary.
If you don't see "URL Rewrite" you may have to install the extension first: https://www.iis.net/downloads/microsoft/url-rewrite
ARR (Application Request Routing) lets you use IIS as a load balancer, which I think is what you're after.
A single exposed IP (or multiples; it doesn't matter) can serve up multiple sites from different back end servers (or farms of servers) based on hostname (e.g. host1.example.com and host2.example.com), or even different URL's to different back end servers based on name (e.g. www.example.com/folder1 to 10.0.0.10, and www.example.com/folder1 to 10.0.0.11, and www.example.com/folder* to 10.0.0.12); you can use wildcards and regular expressions to route requests, and there is a mechanism to substitute variables into the routing logic.
It's very stable and performant. My hosting environment serves hundreds of sites (.NET, Java, PHP and static), from multiple back end server farms, running everything from IIS, to Apache on Linux, to J2EE, to NodeJS. 100k hits per day.
You can even have several ARR servers clustered with NLB to eliminate single points if failure (and do patch reboots during the day without clients even noticing).
What specific questions did you have?
Ok, here's how to fix it and I'm pretty sure you'll have to edit the ApplicationHost.config directly. If this stuff isn't clear, respond back and I'll go into more detail.
You have two sections for <system.ApplicationHost>...</system.ApplicationHost>. What you need to do is copy the stuff from the bottom one to the one at the top. In the pastebin that you sent, find line 1090 (<system.applicationHost>) and then CUT that thru line 1258 (</system.applicationHost>). You'll then paste it in at line 151 which is the first line after the first (<system.applicationHost>). Next you need to delete the first and last line that you just copied (which is <system.applicationHost> and </system.applicationHost>). You should only have one of each of those. Save the file, close and open InetMgr and try again.
If this isn't clear, I can fix it and send you back a PasteBin if you'd like.
So ultimately your config file was in an invalid state. The 2nd system.ApplicationHost indicated that several sections (system.applicationHost/appPools and system.applicationHost/sites) were "unlocked". This could have been done by the command > appcmd unlock config /section:system.applicationHost/sites
I'm not sure if you maybe did that, but if so, you don't want to unlock anything in the sectionGroup system.applicationHost. Its not really going to do anything positive anyways. If you want to read up about configuration locking, check out this article (https://www.iis.net/learn/get-started/planning-for-security/how-to-use-locking-in-iis-configuration). Its a complex subject, and I don't know a whole of people other than me that really understand it.
Let me know how it goes...
First you need to decide how the "external people" will access the server. Typically this would be handled by setting up another server with an "AppProxy" which would forward requests along to the internal server. One solution would be using ARR (Application Request Routing) which is an add-on module for IIS. Again, this would be deployed to another server which would be "outside the LAN" but would be allowed to also communicate to the internal server. You can learn about ARR and a Forward Proxy here: https://www.iis.net/learn/extensions/configuring-application-request-routing-arr/creating-a-forward-proxy-using-application-request-routing
In the link above, you see it setting up "rules" to determine what and how to forward. In the example, they use "Match URL" of * which simply means every request. Instead you would have a pattern such as: "RSSFeed.aspx" which should only match on exactly that URL.