<?xml version="1.0" encoding="UTF-8"?>
<rss 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/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ https - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ https - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 09 Jun 2026 10:00:55 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/tag/https/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Como fazer o HTTPS funcionar em seu ambiente local de desenvolvimento em 5 minutos ]]>
                </title>
                <description>
                    <![CDATA[ Quase todo site da web que você visita hoje é protegido por HTTPS. Se o seu ainda não é, deveria ser [https://web.dev/i18n/pt/why-https-matters/]. A segurança de seu servidor com HTTPS também representa não poder enviar solicitações para este servidor de outro que não esteja protegido por HTTPS. Isso causa um problema ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/como-fazer-o-https-funcionar-em-seu-ambiente-local-de-desenvolvimento-em-5-minutos/</link>
                <guid isPermaLink="false">6247bbcf6daab205304af666</guid>
                
                    <category>
                        <![CDATA[ https ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Rosa ]]>
                </dc:creator>
                <pubDate>Sun, 03 Apr 2022 13:06:15 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/04/5f9cb0e5740569d1a4cab759.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to get HTTPS working on your local development environment in 5 minutes</a>
      </p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_8XwjYNPlrj0paEvIjn0Dcw.png" class="kg-image" alt="1_8XwjYNPlrj0paEvIjn0Dcw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/04/1_8XwjYNPlrj0paEvIjn0Dcw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_8XwjYNPlrj0paEvIjn0Dcw.png 800w" sizes="(min-width: 720px) 720px" width="600" height="400" loading="lazy"></figure><p>Quase todo site da web que você visita hoje é protegido por HTTPS. Se o seu ainda não é, <a href="https://web.dev/i18n/pt/why-https-matters/">deveria ser</a>. A segurança de seu servidor com HTTPS também representa não poder enviar solicitações para este servidor de outro que não esteja protegido por HTTPS. Isso causa um problema para os desenvolvedores que usam um ambiente local de desenvolvimento, pois todos eles são executados em <code>http://localhost</code> desde sempre.</p><p>Na startup da qual eu faço parte, decidi proteger nossos endpoints do balanceador de carga AWS Elastic com HTTPS como parte de uma ação para aumentar a segurança. Acabei encontrando uma situação na qual as solicitações que meu ambiente local de desenvolvimento faziam ao servidor começaram a ser rejeitadas.</p><p>Depois de uma rápida pesquisa no Google, encontrei vários artigos como <a href="https://devcenter.heroku.com/articles/ssl-certificate-self" rel="noopener">este</a>, <a href="https://www.kevinleary.net/self-signed-trusted-certificates-node-js-express-js/" rel="noopener">este</a> ou <a href="https://blog.praveen.science/securing-your-localhost/" rel="noopener">este aqui</a> (textos em inglês), com instruções detalhadas sobre como eu podia implementar o HTTPS no <code>localhost</code>. Nenhuma dessas instruções parecia funcionar, mesmo depois de eu as ter seguido religiosamente. O Chrome sempre me enviava o mesmo erro: <code>NET::ERR_CERT_COMMON_NAME_INVALID</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_cQyGAORXHxsrhs5KRRBOgQ.png" class="kg-image" alt="1_cQyGAORXHxsrhs5KRRBOgQ" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/04/1_cQyGAORXHxsrhs5KRRBOgQ.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_cQyGAORXHxsrhs5KRRBOgQ.png 800w" sizes="(min-width: 720px) 720px" width="600" height="400" loading="lazy"></figure><h3 id="o-problema"><strong>O problema</strong></h3><p>Todas as instruções detalhadas que encontrei estavam certas na época em que foram escritas. Agora, porém, não são mais.</p><p>Depois de muito usar o Google, descobri que o motivo para que meu certificado local fosse rejeitado estava no fato de que o <a href="https://groups.google.com/a/chromium.org/forum/m/#!topic/security-dev/IGT2fLJrAeo" rel="noopener">Chrome havia tornado obsoleto o suporte para correspondências de commonName nos certificados</a> (texto em inglês), com efeito, exigindo um subjectAltName desde janeiro de 2017.</p><h3 id="a-solu-o"><strong>A solução</strong></h3><p>Usaremos o <a href="https://www.openssl.org/" rel="noopener">OpenSSL</a> para gerar todos os nossos certificados.</p><h4 id="passo-1-tornar-o-certificado-ssl-root"><strong>Passo 1: Tornar o certificado SSL "root"</strong></h4><p>A primeira etapa é criar um certificado Secure Sockets Layer (SSL) "Root". Esse certificado root pode então ser usado para assinar quantos certificados queiramos gerar para os domínios individuais. Se você não estiver familiarizado com o ecossistema do SSL, este <a href="https://support.dnsimple.com/articles/what-is-ssl-root-certificate/" rel="noopener">artigo de DNSimple</a> introduz muito bem os certificados SSL root.</p><p>Gere uma chave RSA-2048 e salve-a no arquivo <code>rootCA.key</code>. Este arquivo será usado como chave para gerar o certificado SSL root. Será solicitada uma senha, a qual você precisará inserir cada vez que usar essa chave específica para gerar um certificado.</p><pre><code class="language-bash">openssl genrsa -des3 -out rootCA.key 2048</code></pre><p>Você pode usar a chave que gerou para criar um certificado SSL root. Salve-a em um arquivo chamado <code>rootCA.pem</code>. Este certificado terá a validade de 1.024 dias. Fique à vontade para trocar o número de dias para quantos você quiser. Também serão solicitadas algumas informações adicionais.</p><pre><code class="language-bash">openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_76xehIse7mPGF094ojiBBw.png" class="kg-image" alt="1_76xehIse7mPGF094ojiBBw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/04/1_76xehIse7mPGF094ojiBBw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_76xehIse7mPGF094ojiBBw.png 800w" sizes="(min-width: 720px) 720px" width="600" height="400" loading="lazy"></figure><h4 id="passo-2-confiar-no-certificado-ssl-root"><strong>Passo 2: Confiar no certificado SSL root</strong></h4><p>Antes de poder usar o certificado SSL root recém-criado para começar a emitir certificados de domínio, ainda há mais um passo a ser feito. É preciso dizer ao computador que ele deve confiar no certificado root, de modo que todos os certificados individuais emitidos por ele também sejam considerados confiáveis.</p><p>No Mac, abra Keychain Access e vá para a categoria Certificates em seu keychain System. Quando estiver lá, importe o <code>rootCA.pem</code> usando File &gt; Import Items. Clique duas vezes no certificado importado e altere o menu suspenso "When using this certificate:" para <strong><strong>Always Tr</strong>ust</strong> na seção Trust.</p><p>Seu certificado deve ter essa aparência dentro de Keychain Access se você seguiu as instruções corretamente até agora.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_NWwMb0yV9ClHDj87Kug9Ng.png" class="kg-image" alt="1_NWwMb0yV9ClHDj87Kug9Ng" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/04/1_NWwMb0yV9ClHDj87Kug9Ng.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_NWwMb0yV9ClHDj87Kug9Ng.png 800w" sizes="(min-width: 720px) 720px" width="600" height="400" loading="lazy"></figure><h4 id="passo-3-certificado-ssl-do-dom-nio"><strong>Passo 3: Certificado SSL do domínio</strong></h4><p>O certificado SSL root agora pode ser usado para emitir um certificado especificamente para seu ambiente local de desenvolvimento, localizado no <code>localhost</code>.</p><p>Crie um arquivo de configuração do OpenSSL chamado <code>server.csr.cnf</code> para poder importar essas configurações ao criar um certificado em vez de inseri-los na linha de comando.</p><pre><code class="language-bash">[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn

[dn]
C=US
ST=RandomState
L=RandomCity
O=RandomOrganization
OU=RandomOrganizationUnit
emailAddress=hello@example.com
CN = localhost</code></pre><p>Crie um arquivo <code>v3.ext</code> para criar um <a href="https://en.wikipedia.org/wiki/X.509" rel="noopener">certificado X509 v3</a>. Perceba como estamos especificando <code>subjectAltName</code> aqui.</p><pre><code class="language-bash">authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = localhost</code></pre><p>Crie uma chave de certificado para <code>localhost</code> usando as definições de configuração armazenadas em <code>server.csr.cnf</code>. Essa chave é armazenada em <code>server.key</code>.</p><pre><code class="language-bash">openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config &lt;( cat server.csr.cnf )</code></pre><p>Uma solicitação de assinatura do certificado é emitida pelo certificado SSL root que criamos antes para criar um certificado de domínio para <code>localhost</code>. O resultado é um arquivo de certificado chamado <code>server.crt</code>.</p><pre><code class="language-bash">openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_kulsSyc0-ylsevP5eIlktA.png" class="kg-image" alt="1_kulsSyc0-ylsevP5eIlktA" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/04/1_kulsSyc0-ylsevP5eIlktA.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_kulsSyc0-ylsevP5eIlktA.png 800w" sizes="(min-width: 720px) 720px" width="600" height="400" loading="lazy"></figure><h4 id="use-seu-novo-certificado-ssl"><strong>Use seu novo certificado SSL</strong></h4><p>Você está pronto para tornar seguro seu <code>localhost</code> com HTTPS. Mova os arquivos <code>server.key</code> e <code>server.crt</code> para um local acessível no seu servidor e inclua-os ao iniciar seu servidor.</p><p>Em um app com Express, escrito no Node.js, aqui está o que você faria. Certifique-se de fazer isso somente para seu ambiente local. <strong>Não use isso em<strong> produ</strong>ção</strong>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_89r7TnYG49V3zMoUnfOP7Q.png" class="kg-image" alt="1_89r7TnYG49V3zMoUnfOP7Q" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/04/1_89r7TnYG49V3zMoUnfOP7Q.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/04/1_89r7TnYG49V3zMoUnfOP7Q.png 738w" sizes="(min-width: 720px) 720px" width="600" height="400" loading="lazy"></figure><p>Espero que você tenha achado útil este tutorial. Se não se sentir confortável em executar os comandos dados aqui por conta própria, eu criei um conjunto de scripts úteis para que você os possa rodar rapidamente e gerar os certificados para você. Mais detalhes podem ser encontrados neste <a href="https://github.com/dakshshah96/local-cert-generator/" rel="noopener">repositório do GitHub</a>.</p><p><em>O autor adora ajudar colegas desenvolvedores &nbsp;para a <em>web. </em>Siga o autor no<em> <a href="https://twitter.com/dakshshah96">Twitter</a> </em>e informe-o se tiver sugestões ou <em>feedback. </em>Se quiser mostrar seu apreço por algum trabalho realizado por ele, seja uma publicação de <em>blog, </em>um projeto de código aberto<em> </em>ou apenas uma publicação engraçada no T<em>w</em>itter<em>, </em>você pode<em> </em><a href="https://www.buymeacoffee.com/dakshshah96">pagar</a><a href="https://www.buymeacoffee.com/dakshshah96"> um cafezinho para o autor</a><em>.</em></em></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Como redirecionar o HTTP para HTTPS usando .htaccess ]]>
                </title>
                <description>
                    <![CDATA[ O Chrome e o Firefox começar a mostrar avisos sobre a falta de segurança em sites que não possuem certificados SSL [https://www.instantssl.com/ssl.html]. Sem o SSL, seu site da web vai parecer inseguro para os visitantes. Assim,  é necessário usar uma conexão criptografada por SSL por motivos segurança, acessibilidade ou conformidade ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/como-redirecionar-o-http-para-https-usando-htaccess/</link>
                <guid isPermaLink="false">61859970cd671e050362b97e</guid>
                
                    <category>
                        <![CDATA[ https ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Rosa ]]>
                </dc:creator>
                <pubDate>Fri, 05 Nov 2021 21:33:06 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2021/11/5f9ca210740569d1a4ca5257.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/how-to-redirect-http-to-https-using-htaccess/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to redirect HTTP to HTTPS Using .htaccess</a>
      </p><p>O Chrome e o Firefox começar a mostrar avisos sobre a falta de segurança em sites que não possuem <a href="https://www.instantssl.com/ssl.html" rel="noopener">certificados SSL</a>. Sem o SSL, seu site da web vai parecer inseguro para os visitantes. Assim, &nbsp;é necessário usar uma conexão criptografada por SSL por motivos segurança, acessibilidade ou conformidade com o setor de cartões de pagamento. Passa a ser muito importante o redirecionamento de HTTP para HTTPS.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2021/11/0_wUTFJrRSM2vh1H7v.jpg" class="kg-image" alt="0_wUTFJrRSM2vh1H7v" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2021/11/0_wUTFJrRSM2vh1H7v.jpg 600w, https://www.freecodecamp.org/portuguese/news/content/images/2021/11/0_wUTFJrRSM2vh1H7v.jpg 800w" sizes="(min-width: 720px) 720px" width="800" height="289" loading="lazy"></figure><h3 id="o-que-o-ssl"><strong>O que é o SSL?</strong></h3><p>SSL (Secure Sockets Layer, ou camada de soquete seguro, em português) é um protocolo de segurança padrão para o estabelecimento de links criptografados entre um servidor web server e um navegador em uma comunicação on-line.</p><p>O uso da tecnologia SSL garante que todos os dados transmitidos entre o servidor web e o navegador permaneçam criptografados.</p><p>Um <strong>certificado S<strong>SL </strong></strong>é necessário para criar a conexão SSL. Você precisaria dar todos os detalhes sobre a identidade do seu site da web e sua empresa como e quando quiser ativar o SSL no seu servidor web. Depois de fazer isso, duas chaves criptográficas são criadas — uma chave privada e uma chave pública.</p><p><em><a href="https://www.sslrenewals.com/blog/why-is-ssl-important-benefits-of-using-ssl-certificate">Saiba mais<em>: </em>Por que o<em> SSL </em>é fundamental<em>?</em></a> </em>(em inglês)</p><p>Para forçar que o tráfego da web use o HTTPS, edite os códigos no <strong>arquivo <strong>.htaccess.</strong></strong></p><p>Antes de começar a redirecionar o HTTP para HTTPS, veja aqui como você pode editar o arquivo .htaccess. Se já sabe o que fazer, pule para as etapas de redirecionamento.</p><h3 id="editar-o-arquivo-htaccess"><strong>Editar o arquivo .htaccess</strong></h3><p>Existem instruções/diretivas no arquivo .htaccess que contam ao servidor como agir em determinados cenários e que afetam diretamente o funcionamento de seu site da web:</p><ul><li>Redirecionamentos</li><li>Reescrita de URLs</li></ul><p><strong>Formas de editar um arquivo<strong> .htaccess:</strong></strong></p><ol><li>Edite o arquivo no seu computador e faça o upload dele para o servidor usando o FTP.</li><li>Use o modo “Edit” (edição) do programa de FTP que permite a edição de um arquivo remotamente.</li><li>Use um editor de texto e SSH para editar o arquivo.</li><li>Use o Gerenciador de arquivos no <strong><strong>cPanel</strong></strong> para editar o arquivo.</li></ol><h3 id="editar-o-htaccess-no-gerenciador-de-arquivos-do-cpanel"><strong>Editar o .htaccess no Gerenciador de arquivos do cPanel</strong></h3><p><strong>Observação<strong>: </strong></strong>faça um back-up de seu site da web para o caso de algo dar errado.</p><ol><li>Faça login no cPanel</li><li>Arquivos &gt; Gerenciador de arquivos &gt; Pasta raiz de documentos “for:”</li><li>Agora, selecione o nome do domínio que deseja acessar</li><li>Marque “Exibir arquivos ocultos (dotfiles)”</li><li>Clique em “Ir”</li><li>Após abrir uma nova guia ou janela, procure pelo arquivo .htaccess.</li><li>Clique com o botão direito no arquivo .htaccess e clique em “Editar o código” no menu.</li><li>Pode aparecer uma caixa de diálogo perguntando sobre a codificação. Clique no botão “Editar” para continuar.</li><li>Edite o arquivo</li><li>Clique em “Salvar alterações” quando tiver concluído.</li><li>Teste seu site da web para garantir que o processo foi feito corretamente. Neste caso, se houver um erro, restaure a versão anterior e tente novamente.</li><li>Quando tiver concluído, clique em “Fechar” para fechar a janela.</li></ol><h3 id="redirecionar-do-http-para-o-https"><strong>Redirecionar do HTTP para o HTTPS</strong></h3><h4 id="1-redirecionar-todo-o-tr-fego-da-web"><strong>1. Redirecionar todo o tráfego da web</strong></h4><p>Se você já tem código existente em seu arquivo .htaccess, adicione o seguinte:</p><pre><code>RewriteEngine On
RewriteCond %{PORTA_DO_SERVIDOR} 80
RewriteRule ^(.*)$ https://www.seudominio.com/$1 [R,L]</code></pre><h4 id="2-redirecionar-apenas-um-dom-nio-espec-fico"><strong>2. Redirecionar apenas um domínio específico</strong></h4><p>Para redirecionar um domínio específico para que passe a usar o HTTPS, adicione o seguinte:</p><pre><code>RewriteEngine On
RewriteCond %{HOST_HTTP} ^seudominio\.com [NC]
RewriteCond %{PORTA_DO_SERVIDOR} 80
RewriteRule ^(.*)$ https://www.seudominio.com/$1 [R,L]</code></pre><h4 id="3-redirecionar-somente-em-uma-pasta-espec-fica"><strong>3. Redirecionar somente em uma pasta específica</strong></h4><p>Para redirecionar para HTTPS em uma pasta específica, adicione o seguinte:</p><pre><code>RewriteEngine On
RewriteCond %{PORTA_DO_SERVIDOR} 80
RewriteCond %{URI_DE_SOLICITACAO} pasta
RewriteRule ^(.*)$ https://www.seudominio.com/pasta/$1 [R,L]</code></pre><p>Observação: substitua <em><em><code>“</code></em><code>seudominio</code><em><code>”</code></em></em> por seu nome de domínio verdadeiro sempre que for solicitado. Além disso, no caso da pasta, substitua<em><em> <code>/</code></em><code>pasta</code></em> pelo nome verdadeiro da pasta.</p><p>Esse artigo foi útil para você? Compartilhe-o e ajude outras pessoas a migrar para o HTTPS.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2021/11/0_P6EKtlMMzyIXNRMw.png" class="kg-image" alt="0_P6EKtlMMzyIXNRMw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2021/11/0_P6EKtlMMzyIXNRMw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2021/11/0_P6EKtlMMzyIXNRMw.png 670w" width="670" height="240" loading="lazy"></figure> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
