IIS Express and a website that has HTTP and HTTPS pages

Posted on 2012-12-20
Last Modified: 2013-01-17

My website has HTTP and HTTPS pages.  I am using IIS Express and have it working for HTTP and HTTPS, but when its running I cannot browse from an HTTP to HTTPS (if in HTTP mode) and vice versa.  

How do I get IIS Express to allow me to browse HTTP page using HTTPS://localhost:44300/

Question by:nutnut

Expert Comment

ID: 38711460
Here is a link to how you enable SSL in IIS Express - pictures and everything.

Hope it helps.

Helpful link

Author Comment

ID: 38711473
Thanks but I have ssl working already I just cannot switch between http and https when site is running
LVL 33

Expert Comment

by:Dave Howe
ID: 38712284
Hi Nutnut,

  I could be wrong, but I think you are misunderstanding a fundamental principle here - you can't have HTTP *AND* HTTPS on the same port.

  Assuming you want to use the pattern shown, you would want a binding to http for 8000 and for https on 44300 - then the urls would be http://localhost:8000/ and https://localhost:44300/ respectively.

Author Comment

ID: 38712386
Hi, my site has half of it as HTTP and once logged in HTTPS is used.  When I run the site I cannot move between an HTTP and HTTPS page.  So, if I run IIS express in HTTP mode I can browse all HTTP pages but cannot log in.  If I run IIS express in HTTPs mode and make the log page the start page, I can log in and use all HTTPS pages but if I log out to the HTTP part of the site it just hangs.
LVL 33

Expert Comment

by:Dave Howe
ID: 38712448
That sounds more like a problem with whatever you are using for login authentication - it should be able to submit cookies and/or form info between the two, but if you are using an asp session variable to hold state, that often won't go well between http/https; asp session variables have this issue in IIS7 (in my experience) and I was gratified to find that it had been anticipated and there is a flag ("New ID on secure connection") you can configure to disable this behaviour and give a shared ASP session environment. I must admit though I haven't tried even that on a machine using non-standard port bindings, nor do I know if IIS Express even has such a flag.
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.


Author Comment

ID: 38712455
Thanks. Should HTTP page be able to be displayed on localhost:44300?  Because if I can get this working then its solved.
LVL 33

Expert Comment

by:Dave Howe
ID: 38712482
you can, but only if ssl isn't there.
you must have separate ports for ssl and non-ssl listeners.

Author Comment

ID: 38714342
thanks how can i do this
LVL 33

Accepted Solution

Dave Howe earned 250 total points
ID: 38720319
you do that by disabling security on port 44300 - but then, https won't work.
you can't *ever* have http AND https on the same ip+port
LVL 16

Assisted Solution

jessc7 earned 250 total points
ID: 38734557
For normal web traffic, regular HTTP requests happen over port 80, and regular HTTPS requests happen over port 443.

You cannot have both non-SSL (HTTP) and SSL (HTTPS) traffic on the same port, as DaveHowe said.

You would need to have two bindings in your IIS Express site to use both. For example, you might have HTTPS traffic on 44300, and HTTP traffic on 8000. Make sure you disable SSL on the 8000 binding.

In your application, you are going to have to manage that you are using specific, custom ports to go between SSL and non-SSL traffic. You probably want to have these as application parameters in your web.config or elsewhere that your application can reference.

Featured Post

Are your end users making ugly email signatures?

Have you left it up to your end users to create their own email signatures? Are they forgetting to add the company logo or using garish font colors? Take control and ensure all users have the same email signature.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Moving applications to the cloud or switching services to cloud-based ones, is a stressful job.  Here's how you can make it easier.
Most of the applications these days are on Cloud. Cloud is ubiquitous with many service providers in the market. Since it has many benefits such as cost reduction, software updates, remote access, disaster recovery and much more.
This Micro Tutorial will explain how to export DynamoDB tables in Amazon Web Services.
Need to grow your business through quality cloud solutions? With everything required to build a cloud platform and solution, you may feel like the distance between you and the cloud is quite long. Help is here. Spend some time learning about the Con…

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now