<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://blog.readthedocs.com</id>
  <title>Read the Docs Blog - Posts tagged security</title>
  <updated>2023-07-08T10:50:30.409226+00:00</updated>
  <link href="https://blog.readthedocs.com"/>
  <link href="https://blog.readthedocs.com/archive/tag/security/atom.xml" rel="self"/>
  <generator uri="https://ablog.readthedocs.org/" version="0.10.26">ABlog</generator>
  <entry>
    <id>https://blog.readthedocs.com/https-for-custom-domains/</id>
    <title>HTTPS for Custom Domains</title>
    <updated>2018-08-13T00:00:00+00:00</updated>
    <author>
      <name>David Fischer</name>
    </author>
    <content type="html">&lt;section id="https-for-custom-domains"&gt;

&lt;p&gt;Read the Docs hosts documentation for over 80,000 open source projects
and over 2,500 of those projects are hosted on their own individual domains.
Documentation hosted on &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;*.readthedocs.io&lt;/span&gt;&lt;/code&gt; has supported HTTPS for a number of years,
but one of our most requested features was to make HTTPS on other domains easy.
Today we are happy to announce that &lt;strong&gt;Read the Docs supports HTTPS on custom domains&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;Earlier this year, Cloudflare contacted us to support HTTPS
for the thousands of open source documentation projects on their own domains.
They generously provided us with their &lt;a class="reference external" href="https://www.cloudflare.com/ssl-for-saas-providers/"&gt;SSL for SaaS&lt;/a&gt; package
to ease the integration on our side.&lt;/p&gt;
&lt;section id="why-https-is-important"&gt;
&lt;h2&gt;Why HTTPS is important&lt;/h2&gt;
&lt;p&gt;HTTPS encrypts traffic between your computer and Read the Docs’ servers
and allows your browser to verify that the website you are talking to
is the one that you requested.
HTTPS ensures there is no man-in-the-middle snooping on your connection.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="configuring-your-domain"&gt;
&lt;h2&gt;Configuring your domain&lt;/h2&gt;
&lt;p&gt;If you followed our &lt;a class="reference external" href="https://docs.readthedocs.io/en/latest/alternate_domains.html"&gt;documentation for custom domains&lt;/a&gt;
and you are using a &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;CNAME&lt;/span&gt;&lt;/code&gt; to point to Read the Docs,
no action is required on your part.&lt;/p&gt;
&lt;p&gt;If you have had your Read the Docs setup for many years you may have followed some old directions
that suggested creating a &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;CNAME&lt;/span&gt;&lt;/code&gt; to &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;readthedocs.org&lt;/span&gt;&lt;/code&gt; or &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;&amp;lt;slug&amp;gt;.readthedocs.org&lt;/span&gt;&lt;/code&gt;.
Depending on your setup, we may not have been able to issue a certificate for your domain.
In that case, update your &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;CNAME&lt;/span&gt;&lt;/code&gt; to point to &lt;code class="docutils literal notranslate"&gt;&lt;span class="pre"&gt;readthedocs.io&lt;/span&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="why-did-it-take-so-long"&gt;
&lt;h2&gt;Why did it take so long?&lt;/h2&gt;
&lt;p&gt;It’s 2018! HTTPS is supposed to be easy, right?
For a few domains, getting a certificate isn’t too hard.
For 2,500+ domains, things get a bit more complicated.&lt;/p&gt;
&lt;p&gt;We identified a number of challenges including:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Retrying failed requests to issue certificates&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Handling when users remove DNS records that would allow us to issue certificates&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Getting our web servers and load balancers to handle dynamically adding and updating certificates on the fly&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Handling recurring tasks to re-issue updated certificates before they expire&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cloudflare reduced most of this complexity to a few API calls made when a new domain is configured or removed.
Without their support, we would still be working on this feature.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="next-steps"&gt;
&lt;h2&gt;Next steps&lt;/h2&gt;
&lt;p&gt;There are a few more things left on our road map for this feature.
In the next few weeks we will begin to generate HTTPS links for custom domains where we have a certificate.
After that change has been deployed for a few weeks, we will begin to redirect custom domain traffic to HTTPS.&lt;/p&gt;
&lt;p&gt;As always, if you’re having any trouble with a particular domain,
don’t hesitate to let us know in our &lt;a class="reference external" href="https://github.com/rtfd/readthedocs.org/issues"&gt;issue tracker&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://blog.readthedocs.com/https-for-custom-domains/" rel="alternate"/>
    <summary>Read the Docs hosts documentation for over 80,000 open source projects
and over 2,500 of those projects are hosted on their own individual domains.
Documentation hosted on *.readthedocs.io has supported HTTPS for a number of years,
but one of our most requested features was to make HTTPS on other domains easy.
Today we are happy to announce that Read the Docs supports HTTPS on custom domains!Earlier this year, Cloudflare contacted us to support HTTPS
for the thousands of open source documentation projects on their own domains.
They generously provided us with their SSL for SaaS package
to ease the integration on our side.</summary>
    <category term="security" label="security"/>
    <category term="feature" label="feature"/>
    <published>2018-08-13T00:00:00+00:00</published>
  </entry>
</feed>
