New Feature - Activate SSL per each Sub-Domain

I know how to activate free SSL and turn on “Always Use HTTPS”, both domain and sub-domain will be force to use SSL for all traffics.

But here’s the problem, the domain has been running for few years that many pages contain image links which is non-SSL. If “Always Use HTTPS” is turned on, some browsers (like Firefox) will block parts of the web pages (non-SSL contents) to be loaded, and this resulting the web page for not rendering/working properly (some images missing) at end-user browser.

So turning off “Always Use HTTPS” will fix the problem. but then the sub-domain will have problem. The sub-domain is programmed to redirect non-SSL to SSL by default.

CloudFlare will now redirect SSL to non-SSL.
But the sub-domain will then redirect non-SSL to SSL.

This creates an endless loop of redirection and causing the sub-domain to be inaccessible at end-user browser.

So, I propose to have a new feature that is to Activate the [Always Use HTTPS] per each domain and sub-domain:

Example:

mywebsite.com >> turn off [Always Use HTTPS]
sub1.mywebsite.com >> turn on [Always Use HTTPS]
sub2.mywebsite.com >> turn off [Always Use HTTPS]

Hi @mjds2019,

I believe what you are describing is possible using page rules…

1 Like

Though it is not clear to me why the OP would like to disable it to address mixed content. Enabling that very feature typically fixes mixed content.

3 Likes

Hi, after some testing. I found that “Page Rules” is actually not needed to be involved in this case. After I have set the default “SSL” to “Full (strict)” mode, CloudFlare will not perform any redirection of “http” or “https”. CloudFlare will serve whatever as it is type by end-user.

If the user key in “http”, CloudFlare will load the “http” version from the web server.
If the user key in “https”, CloudFlare will load the “https” version from the web server.

So, what I need to do is:

For the root domain:

  1. disable SSL at my web server
  2. redirect all “https” to “http” at my web server

For the sub-domain:

  1. enable SSL at my web server
  2. redirect all “http” to “https” at my web server

and “Page Rules” at CloudFlare is not needed to be configured anything.

Thanks for the hint by the way :grinning:

thanks sandro :slight_smile:

That you shouldnt do, unless you dont want SSL at all for that URL.

1 Like

@sandro
Hi, I know that I should activate SSL. but the website (wordpress) is already been running for a few years without “https”. Once I activate SSL, many links of CSS, javascript files and image and broken. This makes the website rendered improperly and resulting a broken website (slider is blank, menu bar is wrong positioning, etc…). All the configurations of the wordpress are deeply integrated everywhere (sub-folders, database, etc…). You know, once a wordpress is up and running for some time, there will be plenty of plugins install & embedded all over the site. I have a hard time to fix all that.

Since the primary urgent concern is the sub-domain, so I will have no choice to leave the wordpress as it is at the moment… until some other time.

I think the best way to fix the wordpress is by reinstalling everything start from scratch with “https” at the very beginning. That… will be the story for another day. Reinstalling wordpress and plugins are still ok, but, there are lots of articles… re-importing the articles still require to fix all the posts one by one… arh…

Have a look at “Automatic HTTPS Rewrites” on Cloudflare, respectively at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests. Both features will allow you to move your content to HTTPS without manually adjusting everything.

2 Likes

@sandro
Thanks for the info. will try to have a look into it :slight_smile:

This topic was automatically closed after 14 days. New replies are no longer allowed.