<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>HTTPS Archives | Clever Cloud</title>
	<atom:link href="https://stagingv6.cleverapps.io/blog/tag/https/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>From Code to Product</description>
	<lastBuildDate>Tue, 02 Jun 2020 17:41:00 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>HTTPS Archives | Clever Cloud</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Force HTTPS on Clever Cloud applications</title>
		<link>https://stagingv6.cleverapps.io/blog/features/2020/06/02/force-https/</link>
		
		<dc:creator><![CDATA[Valeriane Venance]]></dc:creator>
		<pubDate>Tue, 02 Jun 2020 17:41:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[HTTPS]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2020/06/02/force-https/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1-1368x528.png 1368w" sizes="(max-width: 1400px) 100vw, 1400px" /></p><p>It is now possible to force HTTPS redirection! No more .htaccess black magic, no redirection handling code…  Let&#39;s have a tour of this new feature.</p>
<span id="more-2975"></span>

<h2 id="forcing-https-on-clever-cloud">Forcing HTTPS on Clever Cloud</h2>
<p>Let&#39;s start practical. There are two ways to achieve our goal.</p>
<h3 id="using-the-cli">Using the CLI</h3>
<p>In your linked application, in your own terminal just type in <code>clever config set force-https enabled</code>.</p>
<p><code>clever config</code> is a new CLI command that allows you to display in your console the current configuration of your application. You can edit any setting with <code>clever config set {name} {value}</code> and bulk edit with <code>clever config update [options]</code>.</p>
<p>Here we just set the force https option to <strong>enabled</strong> and if we want to set if off we can just <code>clever config set force-https disabled</code>.</p>
<p>If this does not work for you, make sure you are running version 2.5.0 or newer (with <code>clever version</code>).</p>
<h3 id="using-the-clever-cloud-console">Using the Clever Cloud console</h3>
<p>In the information page of each application, you will find a checkbox form with options you can tune in and out. One of them is <strong>Force HTTPS</strong>. Enable its checkbox and save.</p>
<figure>
  <a href="https://cdn.clever-cloud.com/uploads/2021/08/enable-https.png" rel="noopener noreferrer" target="_blank"><img style="width:100%" src="https://cdn.clever-cloud.com/uploads/2021/08/enable-https.png"></a>
</figure>

<p>From now on and as long as you do not disable it, every non-secured HTTP request to this application will be redirected to HTTPS with a <a href="https://en.wikipedia.org/wiki/HTTP_301">301 Moved Permanently</a> status code.</p>
<h2 id="how-the-magic-happens">How the magic happens</h2>
<h3 id="the-clever-cloud-way">The Clever Cloud way</h3>
<p>The redirection is handled at the reverse proxy level so you don&#39;t need to update your application to use it. Each time the browser will request a resource using HTTP, it will get a 301 response back with the same resource prefixed by <code>https</code> in the Location header field. The 301 redirection is recognized as the best practice for HTTPS upgrade.</p>
<figure>
  <a href="https://cdn.clever-cloud.com/uploads/2021/08/force-https-schema.png" rel="noopener noreferrer" target="_blank"><img style="width:100%" src="https://cdn.clever-cloud.com/uploads/2021/08/force-https-schema.png"></a>
</figure>

<h2 id="why-enforce-https">Why enforce HTTPS</h2>
<p>Before explaining why it is important, I shall provide a definition of HTTPS.</p>
<h3 id="simple-definition">Simple definition</h3>
<p>First of all, HTTPS is an extension of the HTTP protocol. Which itself is the application protocol the world wide web is relying on for communications. Full definition to be found on <a href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol">wikipedia</a>.</p>
<p>The main difference between HTTP and HTTPS communication is encryption.</p>
<p>Using HTTPS, the communication is bidirectionaly encrypted between the client and the server. Both the headers and the response/request data are ciphered. This is achieved using TLS cryptographic protocol in addition to operations involved in a simple HTTP transmission.</p>
<p>The identification process requires the server administrator to create a public key certificate signed by a trusted certificate authority.</p>
<p>We have automated this part. So every time you create a new application on Clever Cloud, a cleverapps.io subdomain name is given to your application and comes along with encryption because a certificate covers cleverapps.io and all its subdomains. And each time you add a custom domain to your application like <code>example.com</code>, Clever Cloud asks Let&#39;s Encrypt for a TLS public key certificate that we automatically add to your application&#39;s configuration on our reverse proxies. Thanks to that, you can accept HTTPS requests on a brand new application without further configuration.</p>
<h3 id="enforcing-https-is-just-the-beginning">Enforcing HTTPS is just the beginning</h3>
<p>I explained to you how HTTPS enforcing was working on Clever Cloud and that felt very simple, right?</p>
<p>To be honest this is because the tech team has decided only to handle the first step of the process.</p>
<p>Strong security on an application requires knowledge on many topics.</p>
<p>Sometimes, your application itself will link to HTTP content, which will result in <a href="https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content">mixed-content</a>. When HTTP resources are served by the application on a page requested using HTTPS the browser will usually not load those resources.</p>
<p>You will also probably want to know more about HTTP Strict Transport Security (HSTS), and the <code>Content-Security-Policy</code> header.</p>
<p>You can start by reading <a href="https://scotthelme.co.uk/migrating-from-http-to-https-ease-the-pain-with-csp-and-hsts/">this great article from Scott Helme</a> to start your journey. If you cannot handle advanced security yourself, think about asking for the help of a security expert.</p>
<h2 id="https-is-good-for-everyone-except-hackers">HTTPS is good for everyone, except hackers</h2>
<p>In 2020 the HTTPS protocol is ubiquitous. It&#39;s more and more widely used thanks to the <a href="https://letsencrypt.org/">Let&#39;s Encrypt</a> initiative which made it free for everyone; which makes the web more secure for both applications creators and clients.</p>
<p>The clients know they can trust the integrity of the content that&#39;s being displayed to them and feel safer about using the Internet in general. This safety feeling extends to their privacy. Today the regular user&#39;s main concern is about what the owner of the website do with their data. Not about that black hooded bad guy they were freaking out about a few years ago. The most used websites have raised their confidence about communications ciphering to such a level it&#39;s now the norm. Everyone puts credit-card numbers in forms eyes wide shut.</p>
<p>Yeah, but me ? Having a website to offer to the world, I want to meet my client’s expectations, of course. But HTTPS has more to offer me. From the SEO perspective, having it will naturally boost ranking. I also ensure my user&#39;s privacy and confidentiality. Most importantly, I can trust that the data I receive from my client has not been altered. That doesn’t mean that I shall trust my user intentions obviously. But now if I need to watch out for a hacker, it will not come from a <a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack">man in the middle</a> or this kind of attack.</p>
<p>Anyway, this is everywhere now and already almost mandatory. Take this train now! This feature is free, does not require extra code and works out of the box with the automatically generated Let&#39;s Encrypt certificates.</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/bannerhttps-1-1368x528.png 1368w" sizes="(max-width: 1400px) 100vw, 1400px" /></p><p>It is now possible to force HTTPS redirection! No more .htaccess black magic, no redirection handling code…  Let&#39;s have a tour of this new feature.</p>
<span id="more-2975"></span>

<h2 id="forcing-https-on-clever-cloud">Forcing HTTPS on Clever Cloud</h2>
<p>Let&#39;s start practical. There are two ways to achieve our goal.</p>
<h3 id="using-the-cli">Using the CLI</h3>
<p>In your linked application, in your own terminal just type in <code>clever config set force-https enabled</code>.</p>
<p><code>clever config</code> is a new CLI command that allows you to display in your console the current configuration of your application. You can edit any setting with <code>clever config set {name} {value}</code> and bulk edit with <code>clever config update [options]</code>.</p>
<p>Here we just set the force https option to <strong>enabled</strong> and if we want to set if off we can just <code>clever config set force-https disabled</code>.</p>
<p>If this does not work for you, make sure you are running version 2.5.0 or newer (with <code>clever version</code>).</p>
<h3 id="using-the-clever-cloud-console">Using the Clever Cloud console</h3>
<p>In the information page of each application, you will find a checkbox form with options you can tune in and out. One of them is <strong>Force HTTPS</strong>. Enable its checkbox and save.</p>
<figure>
  <a href="https://cdn.clever-cloud.com/uploads/2021/08/enable-https.png" rel="noopener noreferrer" target="_blank"><img style="width:100%" src="https://cdn.clever-cloud.com/uploads/2021/08/enable-https.png"></a>
</figure>

<p>From now on and as long as you do not disable it, every non-secured HTTP request to this application will be redirected to HTTPS with a <a href="https://en.wikipedia.org/wiki/HTTP_301">301 Moved Permanently</a> status code.</p>
<h2 id="how-the-magic-happens">How the magic happens</h2>
<h3 id="the-clever-cloud-way">The Clever Cloud way</h3>
<p>The redirection is handled at the reverse proxy level so you don&#39;t need to update your application to use it. Each time the browser will request a resource using HTTP, it will get a 301 response back with the same resource prefixed by <code>https</code> in the Location header field. The 301 redirection is recognized as the best practice for HTTPS upgrade.</p>
<figure>
  <a href="https://cdn.clever-cloud.com/uploads/2021/08/force-https-schema.png" rel="noopener noreferrer" target="_blank"><img style="width:100%" src="https://cdn.clever-cloud.com/uploads/2021/08/force-https-schema.png"></a>
</figure>

<h2 id="why-enforce-https">Why enforce HTTPS</h2>
<p>Before explaining why it is important, I shall provide a definition of HTTPS.</p>
<h3 id="simple-definition">Simple definition</h3>
<p>First of all, HTTPS is an extension of the HTTP protocol. Which itself is the application protocol the world wide web is relying on for communications. Full definition to be found on <a href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol">wikipedia</a>.</p>
<p>The main difference between HTTP and HTTPS communication is encryption.</p>
<p>Using HTTPS, the communication is bidirectionaly encrypted between the client and the server. Both the headers and the response/request data are ciphered. This is achieved using TLS cryptographic protocol in addition to operations involved in a simple HTTP transmission.</p>
<p>The identification process requires the server administrator to create a public key certificate signed by a trusted certificate authority.</p>
<p>We have automated this part. So every time you create a new application on Clever Cloud, a cleverapps.io subdomain name is given to your application and comes along with encryption because a certificate covers cleverapps.io and all its subdomains. And each time you add a custom domain to your application like <code>example.com</code>, Clever Cloud asks Let&#39;s Encrypt for a TLS public key certificate that we automatically add to your application&#39;s configuration on our reverse proxies. Thanks to that, you can accept HTTPS requests on a brand new application without further configuration.</p>
<h3 id="enforcing-https-is-just-the-beginning">Enforcing HTTPS is just the beginning</h3>
<p>I explained to you how HTTPS enforcing was working on Clever Cloud and that felt very simple, right?</p>
<p>To be honest this is because the tech team has decided only to handle the first step of the process.</p>
<p>Strong security on an application requires knowledge on many topics.</p>
<p>Sometimes, your application itself will link to HTTP content, which will result in <a href="https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content">mixed-content</a>. When HTTP resources are served by the application on a page requested using HTTPS the browser will usually not load those resources.</p>
<p>You will also probably want to know more about HTTP Strict Transport Security (HSTS), and the <code>Content-Security-Policy</code> header.</p>
<p>You can start by reading <a href="https://scotthelme.co.uk/migrating-from-http-to-https-ease-the-pain-with-csp-and-hsts/">this great article from Scott Helme</a> to start your journey. If you cannot handle advanced security yourself, think about asking for the help of a security expert.</p>
<h2 id="https-is-good-for-everyone-except-hackers">HTTPS is good for everyone, except hackers</h2>
<p>In 2020 the HTTPS protocol is ubiquitous. It&#39;s more and more widely used thanks to the <a href="https://letsencrypt.org/">Let&#39;s Encrypt</a> initiative which made it free for everyone; which makes the web more secure for both applications creators and clients.</p>
<p>The clients know they can trust the integrity of the content that&#39;s being displayed to them and feel safer about using the Internet in general. This safety feeling extends to their privacy. Today the regular user&#39;s main concern is about what the owner of the website do with their data. Not about that black hooded bad guy they were freaking out about a few years ago. The most used websites have raised their confidence about communications ciphering to such a level it&#39;s now the norm. Everyone puts credit-card numbers in forms eyes wide shut.</p>
<p>Yeah, but me ? Having a website to offer to the world, I want to meet my client’s expectations, of course. But HTTPS has more to offer me. From the SEO perspective, having it will naturally boost ranking. I also ensure my user&#39;s privacy and confidentiality. Most importantly, I can trust that the data I receive from my client has not been altered. That doesn’t mean that I shall trust my user intentions obviously. But now if I need to watch out for a hacker, it will not come from a <a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack">man in the middle</a> or this kind of attack.</p>
<p>Anyway, this is everywhere now and already almost mandatory. Take this train now! This feature is free, does not require extra code and works out of the box with the automatically generated Let&#39;s Encrypt certificates.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Let&#8217;s Encrypt Certificates For Everyone</title>
		<link>https://stagingv6.cleverapps.io/blog/features/2019/01/15/automatic-lets-encrypt-certificates/</link>
		
		<dc:creator><![CDATA[Alexandre Berthaud]]></dc:creator>
		<pubDate>Tue, 15 Jan 2019 17:36:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[SSL]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2019/01/15/automatic-lets-encrypt-certificates/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1-1368x528.png 1368w" sizes="(max-width: 1400px) 100vw, 1400px" /></p><p>We have been issuing and automatically installing Let&#39;s Encrypt® certificates for a while now. The only manual thing was the trigger of this process. But today, we are glad to <strong>announce fully automated Let&#39;s Encrypt certificates for everyone!</strong></p>
<span id="more-2950"></span>

<p>When you add a domain — which targets Clever Cloud — to an application; it will have its own certificate a few minutes later (up to 12 minutes later).</p>
<p>This has been live since 2018-11-16. Hundreds of certificates have been issued since then. This has been possible thanks to <a href="https://letsencrypt.org">Let&#39;s Encrypt</a>, who also extended their rate limiting on their API.</p>
<h2 id="how-do-we-do-this">How do we do this?</h2>
<p>As explained in the <a href="/blog/features/2018/05/30/about-lets-encrypt/">previous blog post</a>, queries to the path used by Let&#39;s Encrypt to check the ownership of the domain are routed to our Let&#39;s Encrypt integration service. This allows us to process the Let&#39;s Encrypt queries, get the certificate and give it to our certificates manager.</p>
<p>Here is what&#39;s new. Once a user adds a new domain, we periodically check that we can reach our Let&#39;s Encrypt integration service. When we do, we start the usual process <em>et voilà</em>.</p>
<h2 id="what-if-i-want-another-kind-of-certificate">What if I want another kind of certificate?</h2>
<p>That&#39;s not a problem:</p>
<p>If you already have a certificate, we will not create a Let&#39;s Encrypt certificate.</p>
<h2 id="how-about-existing-domains">How about existing domains?</h2>
<p>Existing domains which do not yet have a certificate will all get a Let&#39;s Encrypt certificate.</p>
<p>This will be done over the next weeks to come. We can&#39;t do this in a single batch for two reasons:</p>
<ul>
<li>Let&#39;s Encrypt rate limiting (we have extended limits but we still cannot send such a big batch all at once)</li>
<li>We need to spread this out so that we don&#39;t have a big batch of renewals every 3 months</li>
</ul>
<p>If you don&#39;t want to wait, you can simply ask us to enable it.</p>
<h2 id="next-steps">Next steps</h2>
<p>There are a few things yet to come:</p>
<ul>
<li>Interface in the console to track the status of the certificates</li>
<li>Support of wildcard certificates (which will not be quite as automatic because it requires DNS validation; this will require an action from you at first)</li>
</ul>
<h2 id="one-last-thing">One last thing</h2>
<p>We are now proud sponsors of Let&#39;s Encrypt!</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/letsencrypt-1-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>We have been issuing and automatically installing Let&#39;s Encrypt® certificates for a while now. The only manual thing was the trigger of this process. But today, we are glad to <strong>announce fully automated Let&#39;s Encrypt certificates for everyone!</strong></p>
<span id="more-2950"></span>

<p>When you add a domain — which targets Clever Cloud — to an application; it will have its own certificate a few minutes later (up to 12 minutes later).</p>
<p>This has been live since 2018-11-16. Hundreds of certificates have been issued since then. This has been possible thanks to <a href="https://letsencrypt.org">Let&#39;s Encrypt</a>, who also extended their rate limiting on their API.</p>
<h2 id="how-do-we-do-this">How do we do this?</h2>
<p>As explained in the <a href="/blog/features/2018/05/30/about-lets-encrypt/">previous blog post</a>, queries to the path used by Let&#39;s Encrypt to check the ownership of the domain are routed to our Let&#39;s Encrypt integration service. This allows us to process the Let&#39;s Encrypt queries, get the certificate and give it to our certificates manager.</p>
<p>Here is what&#39;s new. Once a user adds a new domain, we periodically check that we can reach our Let&#39;s Encrypt integration service. When we do, we start the usual process <em>et voilà</em>.</p>
<h2 id="what-if-i-want-another-kind-of-certificate">What if I want another kind of certificate?</h2>
<p>That&#39;s not a problem:</p>
<p>If you already have a certificate, we will not create a Let&#39;s Encrypt certificate.</p>
<h2 id="how-about-existing-domains">How about existing domains?</h2>
<p>Existing domains which do not yet have a certificate will all get a Let&#39;s Encrypt certificate.</p>
<p>This will be done over the next weeks to come. We can&#39;t do this in a single batch for two reasons:</p>
<ul>
<li>Let&#39;s Encrypt rate limiting (we have extended limits but we still cannot send such a big batch all at once)</li>
<li>We need to spread this out so that we don&#39;t have a big batch of renewals every 3 months</li>
</ul>
<p>If you don&#39;t want to wait, you can simply ask us to enable it.</p>
<h2 id="next-steps">Next steps</h2>
<p>There are a few things yet to come:</p>
<ul>
<li>Interface in the console to track the status of the certificates</li>
<li>Support of wildcard certificates (which will not be quite as automatic because it requires DNS validation; this will require an action from you at first)</li>
</ul>
<h2 id="one-last-thing">One last thing</h2>
<p>We are now proud sponsors of Let&#39;s Encrypt!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>About Let&#8217;s Encrypt</title>
		<link>https://stagingv6.cleverapps.io/blog/features/2018/05/30/about-lets-encrypt/</link>
		
		<dc:creator><![CDATA[Alexandre Berthaud]]></dc:creator>
		<pubDate>Wed, 30 May 2018 16:15:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[SSL]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2018/05/30/about-lets-encrypt/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>We have been working on Let&#39;s Encrypt support for quite some time now.</p>
<p>We have a working prototype used for hundreds of domains and it has been running since August 2017 and has handled thousands of renewals without a single hiccup.</p>
<p>To go further, we need to make a small change to the way we route incoming requests.</p>
<span id="more-2936"></span>

<h2 id="how-does-lets-encrypt-work">How does Let&#39;s Encrypt work?</h2>
<p>Let&#39;s Encrypt needs to validate the ownership of a domain before delivering a certificate. As does any public certificate authority.</p>
<p>For our Let&#39;s Encrypt integration, we are using the HTTP challenge to validate that we own the web server that a domain points to.</p>
<p>Here is how the HTTP challenge works, basically:</p>
<ul>
<li>The client asks for a certificate for a domain (with a <a href="https://en.wikipedia.org/wiki/Certificate_signing_request">CSR</a>)</li>
<li>Let&#39;s Encrypt responds with a challenge id and a token</li>
<li>The client sets up this token to be sent when receving a request on <code>http://domain.tld/.well-known/acme-challenge/&lt;the challenge id&gt;</code></li>
<li>The client tells Let&#39;s Encrypt that it&#39;s ready</li>
<li>Let&#39;s Encrypt makes the request to <code>http://domain.tld/.well-known/acme-challenge/&lt;the challenge id&gt;</code></li>
<li>If the challenge is validated, it will then reply to the client with the certificate</li>
</ul>
<h2 id="how-does-clever-cloud-implement-this">How does Clever Cloud implement this?</h2>
<p>What we have been doing since last August is routing the <code>/.well-known/acme-challenge</code> to our Let&#39;s Encrypt integration service when a customer asks us to.</p>
<p>Sadly, this means that we have a bunch of rules in our reverse proxies to handle this. As the list of domains grow, it&#39;s becoming quite clear that this is simply not technically feasible. This huge list of rules is adding a lot of work to HAProxy&#39;s configuration parsing.</p>
<p>As we have hundreds of configuration changes per minute (batched together, but still), this has too much of an impact on the performance of our reverse proxies and the feature is not even released yet!</p>
<h2 id="what-changes">What changes</h2>
<p>Starting today, <em>all</em> requests starting with the path <code>/.well-known/acme-challenge</code> will be sent to our Let&#39;s Encrypt integration.</p>
<p>This can be disabled on dedicated reverse proxies for our <a href="https://stagingv6.cleverapps.io/clever-cloud-premium">Premium</a> customers only.</p>
<h2 id="when-will-this-feature-be-available-in-the-console">When will this feature be available in the console?</h2>
<p>Right now, we only enable this on demand, domain per domain.</p>
<p>The goal, obviously, is to have an interface for this in the console and in clever-tools.</p>
<p>We still have ways to go, but the current target is by the end of this year.</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/aboutletsencrypt-1-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>We have been working on Let&#39;s Encrypt support for quite some time now.</p>
<p>We have a working prototype used for hundreds of domains and it has been running since August 2017 and has handled thousands of renewals without a single hiccup.</p>
<p>To go further, we need to make a small change to the way we route incoming requests.</p>
<span id="more-2936"></span>

<h2 id="how-does-lets-encrypt-work">How does Let&#39;s Encrypt work?</h2>
<p>Let&#39;s Encrypt needs to validate the ownership of a domain before delivering a certificate. As does any public certificate authority.</p>
<p>For our Let&#39;s Encrypt integration, we are using the HTTP challenge to validate that we own the web server that a domain points to.</p>
<p>Here is how the HTTP challenge works, basically:</p>
<ul>
<li>The client asks for a certificate for a domain (with a <a href="https://en.wikipedia.org/wiki/Certificate_signing_request">CSR</a>)</li>
<li>Let&#39;s Encrypt responds with a challenge id and a token</li>
<li>The client sets up this token to be sent when receving a request on <code>http://domain.tld/.well-known/acme-challenge/&lt;the challenge id&gt;</code></li>
<li>The client tells Let&#39;s Encrypt that it&#39;s ready</li>
<li>Let&#39;s Encrypt makes the request to <code>http://domain.tld/.well-known/acme-challenge/&lt;the challenge id&gt;</code></li>
<li>If the challenge is validated, it will then reply to the client with the certificate</li>
</ul>
<h2 id="how-does-clever-cloud-implement-this">How does Clever Cloud implement this?</h2>
<p>What we have been doing since last August is routing the <code>/.well-known/acme-challenge</code> to our Let&#39;s Encrypt integration service when a customer asks us to.</p>
<p>Sadly, this means that we have a bunch of rules in our reverse proxies to handle this. As the list of domains grow, it&#39;s becoming quite clear that this is simply not technically feasible. This huge list of rules is adding a lot of work to HAProxy&#39;s configuration parsing.</p>
<p>As we have hundreds of configuration changes per minute (batched together, but still), this has too much of an impact on the performance of our reverse proxies and the feature is not even released yet!</p>
<h2 id="what-changes">What changes</h2>
<p>Starting today, <em>all</em> requests starting with the path <code>/.well-known/acme-challenge</code> will be sent to our Let&#39;s Encrypt integration.</p>
<p>This can be disabled on dedicated reverse proxies for our <a href="https://stagingv6.cleverapps.io/clever-cloud-premium">Premium</a> customers only.</p>
<h2 id="when-will-this-feature-be-available-in-the-console">When will this feature be available in the console?</h2>
<p>Right now, we only enable this on demand, domain per domain.</p>
<p>The goal, obviously, is to have an interface for this in the console and in clever-tools.</p>
<p>We still have ways to go, but the current target is by the end of this year.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clever Cloud gives you the https way to social apps</title>
		<link>https://stagingv6.cleverapps.io/blog/company/2012/11/12/secure-apps/</link>
					<comments>https://stagingv6.cleverapps.io/blog/company/2012/11/12/secure-apps/#respond</comments>
		
		<dc:creator><![CDATA[Quentin Adam]]></dc:creator>
		<pubDate>Mon, 12 Nov 2012 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Social]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2012/11/12/secure-apps/</guid>

					<description><![CDATA[Clever Cloud is designed to let you code and create wonderful applications able to enable a cool and interactive social life. You want to create a Facebook app? To interact with the Foursquare API? Or just to manage some critical users data? Today, all of those services require the use of SSL (https) to interact [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="pull-right">
  <img decoding="async" alt="Comodo logo" class="span2" src="https://www2.cleverapps.io/app/uploads/2021/08/comodo.png"/>
  </div>
<p>Clever Cloud is designed to let you code and create wonderful applications able to enable a cool and interactive social life.</p>
<p>You want to create a Facebook app? To interact with the Foursquare API? Or just to manage some critical users data?</p>
<p><span id="more-2704"></span></p>
<p>Today, all of those services require the use of SSL (https) to interact with their API. This can be sad if you only want a backend service or to make a test. Having a SSL certificate <em>up &amp; running</em> can take a week, and it&#39;s complicated to buy.</p>
<p>Clever Cloud is a <a href="http://www.comodo.com/" rel="noopener noreferrer" target="_blank">Comodo</a> Reseller and decided to offer you a simple way to use security: every application on the Clever Cloud platform is able to claim a <strong>*.cleverapps.io</strong> domain name and to use SSL immediately!</p>
<p>Hope this feature let you test and run code from various API and services! We hope it will help many hackathons and Startup Weekend fellows!</p>
<p><center><object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/nh5z8l7FoFA?version=3&amp;hl=fr_FR"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/nh5z8l7FoFA?version=3&amp;hl=fr_FR" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object></center></p>
]]></content:encoded>
					
					<wfw:commentRss>https://stagingv6.cleverapps.io/blog/company/2012/11/12/secure-apps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
