
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Thu, 09 Apr 2026 18:27:39 GMT</lastBuildDate>
        <item>
            <title><![CDATA[How to make your site HTTPS-only]]></title>
            <link>https://blog.cloudflare.com/how-to-make-your-site-https-only/</link>
            <pubDate>Thu, 06 Jul 2017 13:35:00 GMT</pubDate>
            <description><![CDATA[ The Internet is getting more secure every day as people enable HTTPS, the secure version of HTTP, on their sites and services. ]]></description>
            <content:encoded><![CDATA[ <p>The Internet is getting more secure every day as people enable HTTPS, the secure version of HTTP, on their sites and services. Last year, Mozilla reported that the percentage of requests made by Firefox using encrypted HTTPS passed <a href="https://twitter.com/0xjosh/status/78697141295942042">50% for the first time</a>. HTTPS has numerous benefits that are not available over unencrypted HTTP, including improved performance with <a href="https://www.cloudflare.com/website-optimization/http2/">HTTP/2</a>, <a href="http://searchengineland.com/google-starts-giving-ranking-boost-secure-httpsssl-sites-199446">SEO benefits</a> for search engines like Google and the reassuring lock icon in the address bar.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2mExGu34GTxoBejOt9ef1Y/a173ce5dfc0b61d2213238afab253abe/image1.jpg" />
            
            </figure><p>So how do you add HTTPS to your site or service? That’s simple, Cloudflare offers free and automatic HTTPS support for all customers with no configuration. Sign up for any plan and Cloudflare will issue an SSL certificate for you and serve your site over HTTPS.</p>
    <div>
      <h3>HTTPS-only</h3>
      <a href="#https-only">
        
      </a>
    </div>
    <p>Enabling HTTPS does not mean that all visitors are protected. If a visitor types your website’s name into the address bar of a browser or follows an HTTP link, it will bring them to the insecure HTTP version of your website. In order to make your site HTTPS-only, you need to redirect visitors from the HTTP to the HTTPS version of your site.</p><p>Going HTTPS-only should be as easy as a click of a button, so we literally added one to the Cloudflare dashboard. Enable the “Always Use HTTPS” feature and all visitors of the HTTP version of your website will be redirected to the HTTPS version. You’ll find this option just above the HTTP Strict Transport Security setting and it is of course also available through our <a href="https://api.cloudflare.com/#zone-settings-change-always-use-https-setting">API</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/19twvdqDrUtYthZ88NZCG1/9b888300f8ed08e480adfbcaad1c1ee0/image2-1.png" />
            
            </figure><p>In case you would like to redirect only some subset of your requests you can still do this by creating a <a href="https://www.cloudflare.com/features-page-rules/">Page Rule</a>. Simply use the “Always Use HTTPS” setting on any URL pattern.</p>
    <div>
      <h3>Securing your site: next steps</h3>
      <a href="#securing-your-site-next-steps">
        
      </a>
    </div>
    <p>Once you have confirmed that your site is fully functional with HTTPS-only enabled, you can take it a step further and enable HTTP Strict Transport Security (<a href="/enforce-web-policy-with-hypertext-strict-transport-security-hsts/">HSTS</a>). HSTS is a header that tells browsers that your site is available over HTTPS and will be for a set period of time. Once a browser sees an HSTS header for a site, it will automatically fetch the HTTPS version of HTTP pages without needing to follow redirects. HSTS can be enabled in the crypto app right under the Always Use HTTPS toggle.</p><p>It's also important to secure the connection between Cloudflare and your site. To do that, you can use Cloudflare's <a href="/cloudflare-ca-encryption-origin/">Origin CA</a> to get a free certificate for your origin server. Once your origin server is set up with HTTPS and a valid certificate, change your SSL mode to Full (strict) to get the highest level of security.</p> ]]></content:encoded>
            <category><![CDATA[HTTPS]]></category>
            <category><![CDATA[SSL]]></category>
            <category><![CDATA[Automatic HTTPS]]></category>
            <category><![CDATA[Certificate Authority]]></category>
            <category><![CDATA[HTTP2]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[Cryptography]]></category>
            <guid isPermaLink="false">2XThcNAZoHfneQaKkn6XXC</guid>
            <dc:creator>Nick Sullivan</dc:creator>
        </item>
        <item>
            <title><![CDATA[Fixing the mixed content problem with Automatic HTTPS Rewrites]]></title>
            <link>https://blog.cloudflare.com/fixing-the-mixed-content-problem-with-automatic-https-rewrites/</link>
            <pubDate>Thu, 22 Sep 2016 14:34:37 GMT</pubDate>
            <description><![CDATA[ It used to be difficult, expensive, and slow to set up an HTTPS capable web site. Then along came CloudFlare’s Universal SSL that made switching from http:// to https:// as easy as clicking a button.  ]]></description>
            <content:encoded><![CDATA[ <p>CloudFlare aims to put an end to the unencrypted Internet. But the web has a chicken and egg problem moving to HTTPS.</p><p>Long ago it was difficult, expensive, and slow to set up an HTTPS capable web site. Then along came services like CloudFlare’s <a href="/introducing-universal-ssl/">Universal SSL</a> that made switching from http:// to https:// as easy as clicking a button. With one click a site was served over HTTPS with a freshly minted, <a href="https://www.cloudflare.com/application-services/products/ssl/">free SSL certificate</a>.</p><p>Boom.</p><p>Suddenly, the website is available over HTTPS, and, even better, the website gets faster because it can take advantage of the latest web protocol <a href="https://www.cloudflare.com/http2/">HTTP/2</a>.</p><p>Unfortunately, the story doesn’t end there. Many otherwise secure sites suffer from the problem of mixed content. And mixed content means the green padlock icon will not be displayed for an https:// site because, in fact, it’s not truly secure.</p><p>Here’s the problem: if an https:// website includes any content from a site (even its own) served over http:// the green padlock can’t be displayed. That’s because resources like images, JavaScript, audio, video etc. included over http:// open up a security hole into the secure web site. A backdoor to trouble.</p><p>Web browsers have known this was a problem for a long, long time. Way back in 1997, Internet Explorer 3.0.2 warned users of sites with mixed content with the following dialog box.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6fFSyQa1HkTERZMaHgzcd7/17cf2d14f450feaa32164ac0ac3c6a7b/IC310968.gif" />
            
            </figure><p>Today, Google Chrome shows a circled i on any https:// that has insecure content.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2UbRZJMuwMEpCkstNVdxAh/5938aa65b3bea23c830841646df74ad9/Screen-Shot-2016-09-22-at-11.22.08.png" />
            
            </figure><p>And Firefox shows a padlock with a warning symbol. To get a green padlock from either of these browsers requires every single subresource (resource loaded by a page) to be served over HTTPS.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/567KKnhwZN2f9MjwnOXzaE/9c7eb09e29684c2a6f0b9684eff925f2/Screen-Shot-2016-09-22-at-11.23.45.png" />
            
            </figure><p>If you had clicked Yes back in 1997, Internet Explorer would have ignored the dangers of mixed content and gone ahead and loaded subresources using plaintext HTTP. Clicking No prevented them from being loaded (often resulting in a broken but secure web page).</p>
    <div>
      <h3>Transitioning to fully secure content</h3>
      <a href="#transitioning-to-fully-secure-content">
        
      </a>
    </div>
    <p>It's tempting, but naive, to think that the solution to mixed content is easy: “Simply load everything using https:// and just fix your website”. Unfortunately, the smörgåsbord of content loaded into modern websites from first-party and third-party web sites makes it very hard to ‘simply’ make that change.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5z1ldg0RSCpvmwSsUEr3At/fb802e6f873ddeec6da07219cb2081cd/14127169401_54ca5e9c1f_z.jpg" />
            
            </figure><p><a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a> <a href="https://www.flickr.com/photos/jeepersmedia/14127169401/in/photolist-nwnrhe-nwFTKm-nwpaXy-nd8jZZ-nwnqMB-6bsjcC-nwFSD3-aQ5Zk4-c4uV99-6itRSF-6iy17Y-8iDUTL-jb2wag-MvpRU-B61f-B61b-7GcrpR-jCxYo4-bTkuiD-2rLaU-a7VsfV-eyNEd-dUEjYu-4iVNkY-a3Gcnb-nJhD2H-nHasXC-5L7FZy-2i8iQ9-qN5RF-6HHCqb-6HDxai-6HDxnK-6HHCvU-5T9v3L-6ytdUs-6HHCyG-2WZgpg-5XZ5BD-b4SFeF-hNBK9K-8JDyeY-pbysVv-5dkLUi-6iy19o-6HDxiV-4o63bZ-kiN76q-ik1o7a-qkcqbe">image</a> by <a href="https://www.flickr.com/photos/jeepersmedia/">Mike Mozart</a></p><p>Wired <a href="https://www.wired.com/2016/09/now-encrypting-wired-com/">documented</a> their transition to https:// in a series of blog posts that shows just how hard it can be to switch everything to HTTPS. They started in <a href="https://www.wired.com/2016/04/wired-launching-https-security-upgrade/">April</a> and spent 5 months on the process (after having already prepped for months just to get to https:// on their main web site). In May they wrote about a <a href="https://www.wired.com/2016/05/wired-first-big-https-rollout-snag/">snag</a>:</p><p><i>"[…] one of the biggest challenges of moving to HTTPS is preparing all of our content to be delivered over secure connections. If a page is loaded over HTTPS, all other assets (like images and Javascript files) must also be loaded over HTTPS. We are seeing a high volume of reports of these “mixed content” issues, or events in which an insecure, HTTP asset is loaded in the context of a secure, HTTPS page. To do our rollout right, we need to ensure that we have fewer mixed content issues—that we are delivering as much of WIRED.com’s content as securely possible.”</i></p><p>In 2014, the New York Times identified mixed content as a <a href="http://open.blogs.nytimes.com/2014/11/13/embracing-https/">major hurdle</a> to going secure:</p><p><i>"To successfully move to HTTPS, all requests to page assets need to be made over a secure channel. It’s a daunting challenge, and there are a lot of moving parts. We have to consider resources that are currently being loaded from insecure domains — everything from JavaScript to advertisement assets.”</i></p><p>And the W3C <a href="https://www.w3.org/TR/upgrade-insecure-requests/">recognized</a> this as a huge problem saying: <i>“Most notably, mixed content checking has the potential to cause real headache for administrators tasked with moving substantial amounts of legacy content onto HTTPS. In particular, going through old content and rewriting resource URLs manually is a huge undertaking.”</i> And cited the BBC’s <a href="http://www.bbc.co.uk/blogs/internet/entries/f7126d19-2afa-3231-9c4e-0f7198c468ab">huge archive</a> as a difficult example.</p><p>But it’s not just media sites that have a problem with mixed content. Many CMS users find it difficult or impossible to update all the links that their CMS generates as they may be buried in configuration files, source code or databases. In addition, sites that need to deal with user-generated content also face a problem with http:// URIs.</p>
    <div>
      <h3>The Dangers of Mixed Content</h3>
      <a href="#the-dangers-of-mixed-content">
        
      </a>
    </div>
    <p>Mixed content comes in two flavors: active and passive. Modern web browsers approach the dangers from these different types of mixed content as follows: active mixed content (the most dangerous) is automatically and completely blocked, passive mixed content is allowed through but results in a warning.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1CleAMTHGwVEkjUZX07Dko/dc8d461778fb08337f10c53e00a7ee4b/6714200883_2ba8167533_b.jpg" />
            
            </figure><p><a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a> <a href="https://www.flickr.com/photos/99mph/6714200883/in/photolist-bej31c-szQAb-i2swr-fnz3A-avkaMz-SB8LC-4kKK2r-6UFtFq-5EhUFH-i2sBe-dHEMmA-A4cie-aC6Wtc-4ZRUkX-srjkGs-5raEpY-eosHU-Ee7Ye-6vWtxh-6Pd2Nq-5Yz5u2-nU1Pfn-nBPiU4-N6B99-7WL2J9-FEkU5X-dU1PPb-JbHZad-aBEqKL-6w5v1r-65Nths-6DbhPs-nsfgLN-67jbBc-nAxzxi-7krEou-4GxJDe-nUsvgg-9kk75E-8AAsi-jJpNkj-4a5Znf-NQtE-d5xmAL-qiBCh-8cM-qXdkTc-9aLMpU-dWVoe-4A1jyr">image</a> by <a href="https://www.flickr.com/photos/99mph/">Ben Tilley</a></p><p>Active content is anything that can modify the DOM (the web page itself). Resources included via the <code>&lt;script&gt;</code>, <code>&lt;link&gt;</code>, <code>&lt;iframe&gt;</code> or <code>&lt;object&gt;</code> tags, CSS values that use <code>url</code> and anything requested using <code>XMLHTTPRequest</code> is capable of modifying a page, reading cookies and accessing user credentials.</p><p>Passive content is anything else: images, audio, video that are written into the page but that cannot themselves access the page.</p><p>Active content is a real threat because if an attacker manages to intercept the request for an http:// URI they can replace the content with their own. This is not a theoretical concern. In 2015 Github was attacked by a system dubbed the <a href="https://citizenlab.org/2015/04/chinas-great-cannon/">Great Cannon</a> that intercepted requests for common JavaScript files over HTTP and replaced them with a JavaScript attack script. The Great Cannon weaponized innocent users’ machines by intercepting TCP and exploiting the inherent vulnerability in active content loaded from http:// URIs.</p><p>Passive content is a different kind of threat: because requests for passive content are sent in the clear an eavesdropper can monitor the requests and extract information. For example, a well positioned eavesdropper could monitor cookies, web pages visited and potentially authentication information.</p><p>The <a href="http://codebutler.com/firesheep/">Firesheep</a> Firefox add-on can be used to monitor a local network (for example, in a <a href="https://www.cloudflare.com/learning/access-management/coffee-shop-networking/">coffee shop</a>) for requests sent over HTTP and automatically steal cookies allowing a user to hijack someone’s identity with a single click.</p><p>Today, modern browsers block active content that's loaded insecurely, but allow passive content through. Nevertheless, transitioning to all https:// is the only way to address all the security concerns of mixed content.</p>
    <div>
      <h3>Fixing Mixed Content Automatically</h3>
      <a href="#fixing-mixed-content-automatically">
        
      </a>
    </div>
    <p>We’ve wanted to help fix the mixed content properly for a long time as our goal is that the web become completely encrypted. And, like other CloudFlare services, we wanted to make this a ‘one click’ experience.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/28Wmhnv7H20f0tjIPihGlt/b4ce58dc1aa7db8ab248029a3cc1a2fd/1078317132_0e96301aef_b--1-.jpg" />
            
            </figure><p><a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a> <a href="https://www.flickr.com/photos/pinkmoose/1078317132/in/photolist-2DhE7G-pvcxy5-k8yyU-dGahX9-7cRyRV-byeo7f-cNka9m-5VqLgk-byenTE-dG4STe-dGafYU-dG4RnT-tAGvqC-tAGA6u-uxhxfW-4Wrx7L-dGahZQ-dGafW9-dG4QiZ-dGagHY-4K5jAk-dwrgVQ-dGafTE-xyEYA-dG4SYP-9LEfKd-7cRy3F-dGainJ-dGahAN-4LPBp9-bnWEe3-bNknmF-pTFtg2-dG4Ra8-6hZDxR-AobuPS-bM92up-dGafDC-yuJw-q8ZsgV-4GGuAM-4Twy1U-dGaf9s-dG4QfX-52rQZg-dpK5hj-dG4RSz-dpJU8v-4EJ5JP-5pvYKT">image</a> by <a href="https://www.flickr.com/photos/pinkmoose/">Anthony Easton</a></p><p>We considered a number of approaches:</p><p><i>Automatically insert the upgrade-insecure-requests CSP directive</i></p><p>The <a href="https://www.w3.org/TR/upgrade-insecure-requests/">upgrade-insecure-requests</a> directive can be added in a <a href="https://www.w3.org/TR/CSP/">Content Security Policy</a> header like this:</p>
            <pre><code>Content-Security-Policy: upgrade-insecure-requests</code></pre>
            <p>which instructs the browser to automatically upgrade any HTTP request to HTTPS. This can be useful if the website owner knows that every subresource is available over HTTPS. The website will not have to actually change http:// URIs embedded in the website to https://, the browser will take care of that automatically.</p><p>Unfortunately, there is a large downside to upgrade-insecure-requests. Since the browser blindly upgrades every URI to https:// regardless of whether the resulting URI will actually work pages can be <a href="https://www.w3.org/TR/upgrade-insecure-requests/#example-failed">broken</a>.</p><p><i>Modify all links to use https://</i></p><p>Since not all browsers used by visitors to CloudFlare web sites support upgrade-insecure-requests we considered upgrading all http:// URIs to https:// as pages pass through our service. Since we are able to parse and modify web pages in real-time we could have created an ‘upgrade-insecure-requests’ service that did not rely on browser support.</p><p>Unfortunately, that still suffers from the same problem of broken links when an http:// URI is transformed to https:// but the resource can’t actually be loaded using HTTPS</p><p><i>Modify links that point to other CloudFlare sites</i></p><p>Since CloudFlare gives all our 4 million customers free <a href="/introducing-universal-ssl/">Universal SSL</a> and we cover a large percentage of web traffic we considered just upgrading http:// to https:// for URIs that we know (because they use our service) will work.</p><p>This solves part of the problem but isn’t a good solution for the general problem of upgrading from HTTP to HTTPS</p><p><i>Create a system that rewrites known HTTPS capable URIs</i></p><p>Finally, we settled upon doing something smart: upgrade a URI from http:// to https:// if we know that the resource can be served using HTTPS. To figure out which links are upgradable we turned to the EFF’s excellent <a href="https://www.eff.org/https-Everywhere">HTTPS Everywhere</a> extension and Google Chrome <a href="https://github.com/chromium/hstspreload.appspot.com">HSTS preload</a> list to augment our knowledge of CloudFlare sites that have SSL enabled.</p><p>We are very grateful that the EFF graciously accepted to help us with this project.</p><p>The HTTPS Everywhere ruleset goes far beyond just switching http:// to https://: it contains rules (and exclusions) that allow it (and us) to target very specific URIs. For example, here’s an actual HTTP Everywhere rule for gstatic.com:</p>
            <pre><code>&lt;rule from="^http://(csi|encrypted-tbn\d|fonts|g0|[\w-]+\.metric|ssl|t\d)\.
gstatic\.com/" to="https://$1.gstatic.com/"/&gt;</code></pre>
            <p>It uses a regular expression to identify specific subdomains of gstatic.com that can safely be upgraded to use HTTPS. The complete set of rules can be browsed <a href="https://www.eff.org/https-everywhere/atlas">here</a>.</p><p>Because we need to upgrade a huge number of URIs embedded in web pages (we estimate around 5 million per second) we benchmarked existing HTML parsers (including our own) and decided to write a new one for this type of rewriting task. We’ll write more about its design, testing and performance in a future post.</p>
    <div>
      <h3>Automatic HTTPS Rewrites</h3>
      <a href="#automatic-https-rewrites">
        
      </a>
    </div>
    <p>Automatic HTTPS Rewrites are now available in the customer dashboard for all CloudFlare customers. Today, this feature is disabled by default and can be enabled in ‘one click’:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7DZLdLkvnV1oot1cCmSTR/8eddcb3deaaeb16f0bead6cea6817a52/Screen-Shot-2016-09-22-at-11.06.05.png" />
            
            </figure><p>We will be monitoring the performance and effectiveness of this feature and enable it by default for Free and Pro customers later in the year. We also plan to use the Content Security Policy reporting features to give customers an automatic view of which URIs remain to be upgraded so that their transition to all https:// is made as simple as possible: sometimes just finding which URIs need to be changed can be very hard as Wired <a href="https://www.wired.com/2016/05/wired-first-big-https-rollout-snag/">found out</a>.</p><p>Would love to hear how this feature works out for you.</p> ]]></content:encoded>
            <category><![CDATA[HTTPS]]></category>
            <category><![CDATA[Automatic HTTPS]]></category>
            <category><![CDATA[SSL]]></category>
            <category><![CDATA[Mixed Content Errors]]></category>
            <category><![CDATA[Product News]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[Crypto Week]]></category>
            <guid isPermaLink="false">7pVhoHfZHUSP7R5waHgPNy</guid>
            <dc:creator>John Graham-Cumming</dc:creator>
        </item>
        <item>
            <title><![CDATA[Encryption Week]]></title>
            <link>https://blog.cloudflare.com/encryption-week/</link>
            <pubDate>Tue, 20 Sep 2016 13:04:33 GMT</pubDate>
            <description><![CDATA[ Since CloudFlare’s inception, we have worked tirelessly to make encryption as simple and as accessible as possible. Over the last two years, we’ve made CloudFlare the easiest way to enable encryption for web properties and internet services.  ]]></description>
            <content:encoded><![CDATA[ <p><i>Note: Since this was published we have renamed Encryption Week to Crypto Week. You can find this post, and news from Encryption and SSL weeks </i><a href="/tag/crypto-week"><i>here</i></a><i>.</i></p><p>Since CloudFlare’s inception, we have worked tirelessly to make encryption as simple and as accessible as possible. Over the last two years, we’ve made CloudFlare the easiest way to enable encryption for web properties and internet services. From the launch of <a href="/introducing-universal-ssl/">Universal SSL</a>, which gives HTTPS to millions of sites for free, to the <a href="/cloudflare-ca-encryption-origin/">Origin CA</a>, which helps customers encrypt their origin servers, to the <a href="/sha-1-deprecation-no-browser-left-behind/">“No Browser Left Behind” initiative</a>, which ensures that the encrypted Internet is available to everyone, CloudFlare has pushed to make Internet encryption better and more widespread.</p><p>This week we are introducing three features that will dramatically increase both the quality and the quantity of encryption on the Internet. We are are happy to introduce <a href="/introducing-tls-1-3/"><b>TLS 1.3</b></a>, <a href="/fixing-the-mixed-content-problem-with-automatic-https-rewrites/"><b>Automatic HTTPS Rewrites</b></a>, and <a href="/opportunistic-encryption-bringing-http-2-to-the-unencrypted-web/"><b>Opportunistic Encryption</b></a> throughout this week. We consider strong encryption to be a right and fundamental to the growth of the Internet, so we’re making all three of these features available to all customers for free.</p><p>Every day this week there will be new technical content on this blog about these features. We're calling it Encryption Week.</p>
    <div>
      <h3>TLS 1.3: Faster and more secure</h3>
      <a href="#tls-1-3-faster-and-more-secure">
        
      </a>
    </div>
    <p>HTTPS is the standard for web encryption. Services that support HTTPS use a protocol called TLS to encrypt and authenticate connections. This week, CloudFlare will be the first service on the internet to offer the latest version of the protocol, TLS 1.3. CloudFlare has been heavily involved in the development of the protocol, which is more secure and delivers tangible performance benefits over previous versions. Establishing an HTTPS connection with TLS 1.3 requires fewer messages than previous versions of TLS, making page load times noticeably faster, especially on mobile networks.</p><p>If it takes 50 miliseconds for a message to travel from the browser to CloudFlare, the speed boost from TLS 1.3 is enough to take sites that seem <a href="https://hpbn.co/primer-on-latency-and-bandwidth/#speed-of-light-and-propagation-latency">“sluggish”</a> (over 300ms), and turn them into sites that load comfortably fast (under 300ms).</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/MgDOAFwcU9C9wPEhJDxVB/25045f31233f88bac137bdfe6830c4e8/13vs12.jpg" />
            
            </figure><p>Comparison of TLS 1.2 and TLS 1.3 handshakes</p><p>TLS 1.3 is enabled in the developer releases of both Firefox and Chrome (<a href="https://nightly.mozilla.org/">Firefox Nightly</a> and <a href="https://www.google.com/chrome/browser/canary.html">Chrome Canary</a>), and all major browsers have committed to implementing the new protocol.</p>
    <div>
      <h3>Why websites don’t use encryption</h3>
      <a href="#why-websites-dont-use-encryption">
        
      </a>
    </div>
    <p>CloudFlare offers HTTPS to all customer sites through Universal SSL, but many sites don’t take advantage of it and continue to offer their sites over unencrypted HTTP. One of the main reasons sites don’t take advantage of HTTPS is because of so-called “mixed content.” This week we are launching Automatic HTTPS Rewrites, a feature that helps site owners address mixed content so they can safely upgrade to HTTPS.</p><p>A user requesting a web page over HTTPS can assume that the connection is authenticated, encrypted and that the response has not been tampered with. However, if any of the sub-resources (scripts, images) are requested over an insecure protocol such as HTTP, then those parts of the site can be accessed and modified by attackers. HTTPS sites with insecure sub-resources contain mixed content. Modern browsers will attempt to protect users from mixed content by providing warnings for passive content (such as images), and blocking insecure active content (scripts, stylesheets) from loading. Because of this, sites with mixed content often don’t work correctly.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4zJXu6vRAgT9tUVuabF11K/229536d6ecf781e0098de895ac3357ae/mixedvsfixed.jpg" />
            
            </figure><p>Sites served with HTTP currently look “neutral” to visitors compared to HTTPS sites with mixed content, so site operators often prefer to serve their sites with insecure HTTP rather than partially-secured HTTPS. This is changing. Both Chrome and Firefox announced that they will begin to show increasingly negative indicators to visitors of HTTP sites. <a href="https://security.googleblog.com/2016/09/moving-towards-more-secure-web.html">Chrome is planning</a> to eventually put the words “Not Secure” in the address bar for HTTP sites, making it much less appealing for site operators to choose HTTP over HTTPS. Because of this, fixing mixed content and moving your site to HTTPS is more important than ever.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5On9CC982TmTvvjCUQomUp/bdfe5b43f29344c80fc3a2ead9058973/image01.png" />
            
            </figure>
    <div>
      <h4>Automatic HTTPS Rewrites: Fixing mixed content automatically</h4>
      <a href="#automatic-https-rewrites-fixing-mixed-content-automatically">
        
      </a>
    </div>
    <p>Some mixed content is not mixed content at all. Often, sub-resources are available over HTTPS, but the page’s source has been hardcoded to download them over HTTP. Manually changing “http” to “https” in the page’s source is often enough to fix mixed content in these cases. However, many sites can’t do that because their sites are created dynamically by content management systems or they include third party resources that they have no control over.</p><p>For Wordpress customers, we tackled this issue by modifying the CloudFlare Wordpress plugin to <a href="/flexible-ssl-wordpress-fixing-mixed-content-errors/">automatically rewrite insecure URLs</a>. Building on the success of this approach, we decided to build URL rewriting functionality into CloudFlare itself. The result is a feature called Automatic HTTPS Rewrites, which we are making available to all customers for free this week.</p><p>CloudFlare customers with Automatic HTTPS Rewrites enabled on their site will have “http" replaced with “https” for all sub-resources that are also available over HTTPS. We use the EFF’s <a href="https://www.eff.org/https-Everywhere">HTTPS Everywhere list</a>, Chrome’s <a href="https://hstspreload.appspot.com/">HSTS preload list</a>, and soon our own internal list of HTTPS-enabled domains to determine whether sites can be upgraded. This feature facilitates the seamless upgrade of customer sites to HTTPS, allowing them to take full advantage of Universal SSL. As a bonus, Automatic HTTPS Rewrites also re-writes links from “http://” to “https://” whenever possible, ensuring that web visitors <a href="https://www.cloudflare.com/learning/security/how-to-improve-wordpress-security/">stay safe</a> even when they leave your site.</p>
    <div>
      <h3>Opportunistic Encryption</h3>
      <a href="#opportunistic-encryption">
        
      </a>
    </div>
    
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4nHRS3s4GG09UqQluqTvzr/8b4a98369ef4df344cff2184dc425bfe/2861549541_0336349bfe_z.jpg" />
            
            </figure><p>CC 2.0 Generic <a href="https://www.flickr.com/photos/qwghlm/2861549541">Chris Applegate</a></p><p>Many sites can fix mixed content by changing “http” to “https,” but some sites can’t. This is often because they have sub-resources hosted on domains that don’t support HTTPS. One of the major causes of mixed content is advertising. Many ad exchanges still serve advertisements that contain references to insecure HTTP assets, making it hard for publishers and others that rely on advertising revenue to upgrade to HTTPS. These sites not only miss out on the many security and privacy benefits of serving their site over an encrypted connection, they also miss out on the performance benefits of <a href="https://www.cloudflare.com/http2/">HTTP/2</a>, which is only available over encrypted connections.</p><p>Enter <a href="https://tools.ietf.org/html/draft-ietf-httpbis-http2-encryption-06">Opportunistic Encryption</a>, a web feature that allows HTTP websites to be accessed over an encrypted HTTP/2 connection. With Opportunistic Encryption, CloudFlare adds a header to tell supporting browsers that the site is available over an encrypted connection. Opportunistic Encryption will be available to all customers later this week, for free.</p><p>For HTTP sites, Opportunistic Encryption can provide some (but not all) of the benefits of HTTPS. Connections secured with Opportunistic Encryption don’t get some HTTPS-only features such as the <a href="https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only?hl=en">location API</a> and the green lock icon. However, the connection is encrypted (and soon authenticated — we present a valid certificate and Firefox Nightly validates it), protecting data from passive snooping.</p><p>The big advantage provided by Opportunistic Encryption is <a href="https://www.cloudflare.com/http2/">HTTP/2</a>, the new web protocol that can dramatically improve load times. HTTP/2 is unavailable over unencrypted connections. Visitors using browsers that support Opportunistic Encryption (currently only Firefox 38 and later) will be able to browse HTTP sites using HTTP/2 for the first time.</p>
    <div>
      <h3>The end of the unencrypted Internet</h3>
      <a href="#the-end-of-the-unencrypted-internet">
        
      </a>
    </div>
    <p>At CloudFlare we are dedicated to improving security and performance for our customers, and building a safer web with strong encryption built in by default. The three features we are introducing during Encryption Week will work in tandem to improve security and performance of all CloudFlare customers.</p><ul><li><p>All encrypted sites will gain faster connection times from TLS 1.3</p></li><li><p>Sites that can be upgraded to HTTPS by Automatic HTTPS Rewrites will gain HTTPS</p></li><li><p>Sites that can’t be upgraded to HTTPS will gain encryption and HTTP/2 from Opportunistic Encryption</p></li></ul><p>One of our goals at CloudFlare is to put an end to the unencrypted Internet. These three features enable a faster internet while moving us closer to that goal.</p> ]]></content:encoded>
            <category><![CDATA[Mixed Content Errors]]></category>
            <category><![CDATA[HTTPS]]></category>
            <category><![CDATA[TLS 1.3]]></category>
            <category><![CDATA[TLS]]></category>
            <category><![CDATA[Automatic HTTPS]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[Crypto Week]]></category>
            <guid isPermaLink="false">4zqkhCaqfru1yKMAlS0vUH</guid>
            <dc:creator>Nick Sullivan</dc:creator>
        </item>
    </channel>
</rss>