Como se inscrever para Let's Encrypt? Let's Encrypt SSL Princípio de Certificado Gratuito e Tutorial de Instalação

Como se inscrever no Let's Encrypt?

Vamos criptografar o Princípio do Certificado SSL e Tutorial de Instalação

O que é SSL? Chen Weiliang abordou esse tema em seu artigo anterior, " Qual a diferença entre HTTP e HTTPS? Uma explicação detalhada do processo de criptografia SSL ".

Além dos sites de comércio eletrônico , que precisam adquirir certificados SSL criptografados avançados, os profissionais de novas mídias que usam sites para promover suas contas oficiais do WeChat podem instalar certificados SSL criptografados gratuitos. Isso pode ajudar no SEO e melhorar o posicionamento do site nos mecanismos de busca.

Como se inscrever para Let's Encrypt? Let's Encrypt SSL Princípio de Certificado Gratuito e Tutorial de Instalação

O Let's Encrypt possui seu próprio fluxo de trabalho ( https://certbot.eff.org/ ). Usuários de Linux podem consultar esse fluxo de trabalho e seguir este tutorial.

Baixe a ferramenta certbot-auto primeiro e, em seguida, execute as dependências de instalação da ferramenta.

wget https://dl.eff.org/certbot-auto --no-check-certificate
chmod +x ./certbot-auto
./certbot-auto -n

Gerar certificado SSL

Em seguida, tomando como exemplo o nome de domínio do blog de Chen Weiliang , modifique-o de acordo com suas necessidades e execute o seguinte comando via SSH.

Certifique-se de modificar o comando em:

  1. 邮箱
  2. caminho do servidor
  3. nome de domínio do site

Diretório único de domínio único, gere um certificado:

./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com

Diretório único de vários domínios, gere um certificado: (ou seja, vários nomes de domínio, diretório único, use o mesmo certificado)

./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com

O certificado SSL gerado será salvo em:/etc/letsencrypt/live/www.chenweiliang.com/ Em conteúdo.


Vários nomes de domínio e vários diretórios, gere um certificado: (ou seja, vários nomes de domínio, vários diretórios, use o mesmo certificado)

./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com -w /home/eloha/public_html/site/etufo.org -d www.etufo.org -d img.etufo.org

Depois que o certificado Let's Encrypt for instalado com sucesso, a seguinte mensagem de prompt aparecerá no SSH:

ANOTAÇÕES IMPORTANTES:
– Parabéns! Seu certificado e chain foram salvos em:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Seu arquivo de chave foi salvo em:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Seu certificado expirará em 2018/02/26. Para obter um certificado novo ou aprimorado
versão deste certificado no futuro, basta executar certbot-auto
novamente. Para renovar de forma não interativa *todos* os seus certificados, execute
"certbot-renovação automática"
- Se você gosta do Certbot, considere apoiar nosso trabalho da seguinte forma:
Faça uma doação para o ISRG / Let's Encrypt: https://letsencrypt.org/donate
Doações para a EFF: https://eff.org/donate-le

Renovação do Certificado SSL

A renovação de certificados também é muito prática, utilizando o crontab para renovação automática. Em algumas versões do Debian que não possuem o crontab instalado, você pode instalá-lo manualmente primeiro.

apt-get install cron

Os seguintes comandos para nginx e apache são inseridos no arquivo /etc/crontab , o que significa que são renovados a cada 10 dias, sendo que um período de validade de 90 dias é suficiente.

Arquivo crontab Nginx, adicione:

0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"

Arquivo crontab do Apache, por favor adicione:

0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"

Configuração do Apache com certificado SSL

Agora, precisamos fazer alterações na configuração do Apache.

Dicas:

  • se você usarPainel de controle CWP, na verificação Adicionar nome de domínio Gerar automaticamente um certificado SSL, ele configurará automaticamente o certificado SSL para o Apache.
  • Se você executar mais das etapas a seguir, poderá ocorrer um erro após reiniciar o Apache.
  • Se houver um erro, exclua a configuração que você adicionou manualmente.

Edite o arquivo httpd.conf ▼

/usr/local/apache/conf/httpd.conf

Encontrar ▼

Listen 443
  • (remova o número do comentário anterior #)

ou adicione a porta de escuta 443 ▼

Listen 443

SSH verifique a porta de escuta do Apache ▼

grep ^Listen /usr/local/apache/conf/httpd.conf

Encontrar ▼

mod_ssl
  • (remova o número do comentário anterior #)

ou adicione ▼

LoadModule ssl_module modules/mod_ssl.so

Encontrar ▼

httpd-ssl
  • (remova o número do comentário anterior #)

Em seguida, o SSH execute o seguinte comando (observe para alterar o caminho para o seu próprio):

at >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProxyCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on
SSLProtocol all -SSLv2 -SSLv3
SSLProxyProtocol all -SSLv2 -SSLv3
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLMutex "file:/usr/local/apache/logs/ssl_mutex"
EOF

Em seguida, no final da configuração do Apache para o site que você criou, em </VirtualHost>.

Adicione o arquivo de configuração da seção SSL (observe para remover o comentário e alterar o caminho para o seu próprio):

<VirtualHost *:443>
DocumentRoot /home/admin/web/chenweiliang.com/public_html //网站目录
ServerName www.chenweiliang.com:443 //域名
ServerAdmin [email protected] //邮箱
ErrorLog "/var/log/www.chenweiliang.com-error_log" //错误日志
CustomLog "/var/log/www.chenweiliang.com-access_log" common //访问日志
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem //之前生成的证书
SSLCertificateKeyFile /etc/letsencrypt/live/www.chenweiliang.com/privkey.pem //之前生成的密钥
<Directory "/home/admin/web/chenweiliang.com/public_html"> //网站目录
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
suPHP_UserGroup eloha eloha //用户组(有些服务器配置需要,有些可能不需要,出错请删除此行)
Order allow,deny
Allow from all
DirectoryIndex index.html index.phps
</Directory>
</VirtualHost>

Finalmente reinicie o Apache nele:

service httpd restart

Apache forçar redirecionamento HTTP para HTTPS

  • Muitas solicitações da Web sempre podem ser executadas apenas com SSL.
  • Precisamos ter certeza de que toda vez que usarmos SSL, o site deve ser acessado via SSL.
  • Se algum usuário tentar acessar o site com uma URL não SSL, ele deverá ser redirecionado para o site SSL.
  • Redirecionar para URL SSL usando o módulo mod_rewrite do Apache.
  • Como usar o pacote de instalação com um clique do LAMP, instalação automática integrada do certificado SSL e redirecionamento forçado para HTTPS, redirecionamento para HTTPSÀ força, você não precisa adicionar um redirecionamento HTTPS.

Adicionar regra de redirecionamento

  • No arquivo de configuração do Apache, edite o host virtual do site e adicione as seguintes configurações.
  • Você também pode adicionar as mesmas configurações à raiz do documento em seu site no arquivo .htaccess.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Se você quiser apenas especificar um determinado URL para redirecionar para HTTPS:

RewriteEngine On
RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
  • Se alguém tentar acessar mensagem , a página saltará para https e o usuário só poderá acessar a URL com SSL.

Reinicie o Apache para que o arquivo .htaccess tenha efeito:

service httpd restart

注意 事项

  • Por favor, altere o endereço de e-mail acima para o seu endereço de e-mail.
  • Lembre-se de alterar o nome de domínio do site acima para o nome de domínio do seu site.

Problema de localização da regra de redirecionamento

Ao inserir regras de redirecionamento em regras pseudoestáticas, você frequentemente encontrará o problema de que o HTTP não consegue redirecionar todo o site para HTTPS.

Inicialmente copiamos o código de redirecionamento para .htaccess e ele aparecerá nos seguintes casos ▼

A regra de redirecionamento [L] está acima.

  • [L] indica que a regra atual é a última regra, pare de analisar as seguintes regras de reescrita.
  • Portanto, ao acessar a página do artigo redirecionado, [L] interrompe as seguintes regras, para que as regras de redirecionamento não funcionem.

Ao acessar uma página inicial HTTP, queremos acionar um redirecionamento de URL, ignorando as regras de reescrita de URL para executar as regras de redirecionamento, de forma que todo o site possa ser redirecionado de HTTP para HTTPS.

Não coloque regras de redirecionamento HTTPS abaixo das regras [L] ; coloque-as acima das regras [L] . ▼

As regras de redirecionamento SSL pseudoestáticas [L] estão abaixo.

Leitura estendida:

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Voltar ao Topo