Try our conversational search powered by Generative AI!

SSL handled via load balancer

Vote:
 

Hi all,

I recently upgraded from 7.5 to 8 (8.10) (have also performed an upgrade to 9 to see if that might resolve this issue) and on our UAT/LIVE multi-lingual sites we have started encountering a problem.

The issue:

Firstly I login to the CMS and navigate to the home page. If I select the Sites tab from the top left and then select an alternative language, I end up with a redirect loop (in chrome: This web page has a redirect loop). Also, if I attempt to change the language via the language plugin or the language options at the top of the page, the page will reload but the language will not be changed.

So a little bit of background information.

Test server configuration:

We have some IIS rewrite rules which ensure that EPiServer runs over https. (if not on port 443 redirect to https://{url}).

On our test environments, we have self certificates installed in IIS and have http (port 80) and https(443) bindings set up and the language switching scenario defined above works correctly. 

In UAT and LIVE the configuration is quite different.

So the bindings for a site on UAT are configured to allow traffic over http on port 80 and over http on port 83.

The IIS rewrite rules that ensure EPiServer runs over https check if the request is on port 83, if it's not then it will redirect to https://{url}. Now here a load balancer will pick up the https request and forward the request back to the server using port 83 over http, so that when the IIS rewrite rules are executed, the traffic is on port 83 and the request is let through.

So in EPiServer 7.5, the UAT/LIVE config worked, but since the EPiServer 8 upgrade this environment hasn't worked properly.

So things I thought may be a problem. The load balancer is not picking up the request that is being made for a language change an so the rewrite rules are constantly redirecting to https and ending up in a redirect loop. Although the load balancer config hasn't changed, just the version of EPiServer.

I have tracked the call made via fiddler and the request don't seem to have changed apart from the fact that that when a request is over https for a different language in 8 a loop occurs. For example:

In 7.5 - 

Click EN language from Sites

Requests

http://www.domain/episerver/CMS/?language=en

https://www.domain/episerver/CMS/?language=en

In 8.10+ - 

Click EN language from Sites

Requests

http://www.domain/episerver/CMS/?language=en

https://www.domain/episerver/CMS/?language=en

https://www.domain/episerver/CMS/?language=en

https://www.domain/episerver/CMS/?language=en

https://www.domain/episerver/CMS/?language=en

https://www.domain/episerver/CMS/?language=en

https://www.domain/episerver/CMS/?language=en

https://www.domain/episerver/CMS/?language=en

...

So my question is this, is there anything that may have changed between EPiServer 7.5 and 8.10 that may have caused this issue?

Can anyone think of a potential workaround for this, I can provide the rewrite rules if it helps.

Thanks

#140591
Oct 23, 2015 16:08
Vote:
 

Just for the sake of completion. This was resolved by defining the Scheme in the Website hosts under the Admin area of EPiServer. Thanks to EPiServer for this resolution.

#142553
Dec 14, 2015 16:27
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.