1

I have a website in IIS 8 that has several applications nested under it. So:

example.com
    |
    ---app1
    |
    ---app2

example.com has both an http binding on port 80 and an SSL binding on port 443. Both work. However, the app1 and app2 are only accessible via the HTTP binding. I get a 404 when I try to access https://example.com/app1 (http works fine). I have "http,https" listed in enabled protocols.

Any ideas?

rybl
  • 245
  • 2
  • 8
  • How are the bindings configured? – Shane Madden Dec 11 '13 at 23:47
  • The bindings for example.com are: http bound to all IP addresses on port 80 and https bound to all IP addresses on port 443. As far as I can tell there are no bindings for app1 and app2. – rybl Dec 12 '13 at 17:04
  • What other websites are there, and how are their bindings configured? – Shane Madden Dec 12 '13 at 18:02
  • The only other site is forum.example.com which has an http binding on port 80 for all IP addresses. – rybl Dec 12 '13 at 20:29
  • What's running in the app1/app2 directories? Sounds like it should be getting the request, but is apparently sending back a 404? – Shane Madden Dec 12 '13 at 21:13
  • example.com is an ASP.NET MVC site. app1 and app2 are WCF services serving xml and json over http. To clarify, app1 and app2 work perfectly over http, but give a 404 only over https. – rybl Dec 12 '13 at 22:00
  • 1
    Right, but with no difference in the bindings, the requests should be getting to the right place.. so it seems like the application code is handling the http and https requests differently. The other potential wrench is, is there a `web.config` in the root or app directories? – Shane Madden Dec 13 '13 at 02:22
  • That seems to have been the problem. I didn't have a in my web.config for app1 and app2. If you want to create an answer I'll mark it as answered. – rybl Dec 13 '13 at 14:19
  • Great, glad you found it! Added an answer. – Shane Madden Dec 13 '13 at 16:24

1 Answers1

1

Different behavior for HTTP vs HTTPS between different locations under the same IIS site could be caused by a couple of different issues:

  1. A web.config option that's altering the handling of the request (which was the case for this question)
  2. Application logic which is making content decisions based on the port or protocol that the request came in on.
Shane Madden
  • 114,520
  • 13
  • 181
  • 251