Come richiedere Let's Encrypt Let's Encrypt Principio del certificato gratuito SSL e tutorial di installazione

Come richiedere Let's Encrypt?

Crittografiamo il principio del certificato SSL e il tutorial sull'installazione

Cos'è SSL? Chen Weiliang ne ha parlato nel suo precedente articolo, " Qual è la differenza tra HTTP e HTTPS? Una spiegazione dettagliata del processo di crittografia SSL ".

Oltre ai siti di e-commerce , che devono acquistare certificati SSL crittografati avanzati, anche i professionisti dei nuovi media che utilizzano siti web per promuovere i propri account ufficiali WeChat possono installare certificati SSL crittografati gratuiti. Questo può contribuire al miglioramento della SEO e al posizionamento del sito web nei motori di ricerca per determinate parole chiave.

Come richiedere Let's Encrypt Let's Encrypt Principio del certificato gratuito SSL e tutorial di installazione

Let's Encrypt ha un proprio flusso di lavoro ( https://certbot.eff.org/ ). Gli utenti Linux possono fare riferimento a tale flusso di lavoro e seguire questo tutorial.

Scarica prima lo strumento certbot-auto, quindi esegui le dipendenze di installazione dello strumento.

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

Genera certificato SSL

Successivamente, prendendo come esempio il nome di dominio del blog di Chen Weiliang , modificatelo in base alle vostre esigenze ed eseguite il seguente comando tramite SSH.

Assicurati di modificare il comando in:

  1. 邮箱
  2. percorso del server
  3. Dominio del sito Web

Directory singola a dominio singolo, genera un certificato:

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

Directory singola multidominio, genera un certificato: (ad es. più nomi di dominio, directory singola, utilizza lo stesso certificato)

./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

Il certificato SSL generato verrà salvato in:/etc/letsencrypt/live/www.chenweiliang.com/ Sotto i contenuti.


Più nomi di dominio e più directory, genera un certificato: (ovvero più nomi di dominio, più directory, utilizza lo stesso certificato)

./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

Dopo che il certificato Let's Encrypt è stato installato correttamente, in SSH verrà visualizzato il seguente messaggio di richiesta:

NOTE IMPORTANTI:
– Congratulazioni!Il tuo certificato e chain sono stati salvati in:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Il tuo file chiave è stato salvato in:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Il tuo certificato scadrà il 2018-02-26. Per ottenere un certificato nuovo o ottimizzato
versione di questo certificato in futuro, esegui semplicemente certbot-auto
Per rinnovare in modo non interattivo *tutti* i tuoi certificati, esegui
"certbot-rinnovo automatico"
- Se ti piace Certbot, considera di supportare il nostro lavoro tramite:
Donazioni a ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donare a EFF: https://eff.org/donate-le

Rinnovo del certificato SSL

Anche il rinnovo del certificato è molto comodo, grazie a crontab che lo automatizza. Per alcune versioni di Debian che non hanno crontab installato, è possibile installarlo manualmente.

apt-get install cron

I seguenti comandi per nginx e apache vengono inseriti nel file /etc/crontab , il che significa che vengono rinnovati ogni 10 giorni, e un periodo di validità di 90 giorni è sufficiente.

Nginx file crontab, aggiungi:

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

File crontab Apache, aggiungi:

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

Certificato SSL Configurazione Apache

Ora, dobbiamo apportare modifiche alla configurazione di Apache.

Suggerimenti:

  • se usiPannello di controllo CWP, nel controllo Aggiungi nome di dominio Genera automaticamente un certificato SSL, configurerà automaticamente il certificato SSL per Apache.
  • Se esegui più dei seguenti passaggi, potrebbe verificarsi un errore dopo il riavvio di Apache.
  • In caso di errore, eliminare la configurazione aggiunta manualmente.

Modifica il file httpd.conf ▼

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

Trova ▼

Listen 443
  • (rimuovere il numero di commento precedente #)

o aggiungi la porta di ascolto 443 ▼

Listen 443

SSH controlla la porta di ascolto di Apache ▼

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

Trova ▼

mod_ssl
  • (rimuovere il numero di commento precedente #)

o aggiungi ▼

LoadModule ssl_module modules/mod_ssl.so

Trova ▼

httpd-ssl
  • (rimuovere il numero di commento precedente #)

Quindi, SSH esegui il seguente comando (nota per cambiare il percorso al tuo):

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

Successivamente, al termine della configurazione di Apache per il sito web creato, sotto </VirtualHost>.

Aggiungi il file di configurazione della sezione SSL (nota per rimuovere il commento e cambia il percorso con il tuo):

<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>

Infine riavvia Apache su di esso:

service httpd restart

Apache forza il reindirizzamento HTTP su HTTPS

  • Molte richieste web possono sempre essere eseguite solo con SSL.
  • Dobbiamo assicurarci che ogni volta che utilizziamo SSL, è necessario accedere al sito Web tramite SSL.
  • Se un utente tenta di accedere al sito Web con un URL non SSL, deve essere reindirizzato al sito Web SSL.
  • Reindirizzamento all'URL SSL utilizzando il modulo mod_rewrite di Apache.
  • Come l'utilizzo del pacchetto di installazione LAMP con un clic, l'installazione automatica integrata del certificato SSL e il reindirizzamento forzato a HTTPS, il reindirizzamento a HTTPSVigente, non è necessario aggiungere un reindirizzamento HTTPS.

Aggiungi regola di reindirizzamento

  • Nel file di configurazione di Apache, modifica l'host virtuale del sito Web e aggiungi le seguenti impostazioni.
  • Puoi anche aggiungere le stesse impostazioni alla radice del documento sul tuo sito web nel tuo file .htaccess.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Se desideri semplicemente specificare un determinato URL da reindirizzare a HTTPS:

RewriteEngine On
RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
  • Se qualcuno tenta di accedere messaggio , la pagina passerà a https e l'utente può accedere all'URL solo con SSL.

Riavvia Apache per rendere effettivo il file .htaccess:

service httpd restart

注意 事项

  • Si prega di modificare l'indirizzo e-mail sopra con il proprio indirizzo e-mail.
  • Ricordati di cambiare il nome di dominio del sito web sopra con il nome di dominio del tuo sito web.

Problema di posizione della regola di reindirizzamento

Quando si inseriscono regole di reindirizzamento in regole pseudo-statiche, si incontra spesso il problema che HTTP non può reindirizzare l'intero sito a HTTPS.

Inizialmente abbiamo copiato il codice di reindirizzamento in .htaccess e apparirà nei seguenti casi ▼

La regola di reindirizzamento [L] è sopra.

  • [L] indica che la regola corrente è l'ultima, interrompere l'analisi delle seguenti regole di riscrittura.
  • Quindi, quando si accede alla pagina dell'articolo reindirizzato, [L] interrompe le seguenti regole, quindi le regole di reindirizzamento non funzionano.

Quando si accede a una homepage HTTP, si desidera attivare un reindirizzamento URL, bypassando le regole di riscrittura URL per eseguire le regole di reindirizzamento, in modo che l'intero sito possa essere reindirizzato da HTTP a HTTPS.

Non posizionare le regole di reindirizzamento HTTPS sotto le regole [L] ; posizionale sopra le regole [L] . ▼

Di seguito sono riportate le regole di reindirizzamento SSL pseudo-statiche [L].

Lettura estesa:

发表 评论

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

Scorrere fino a Top