Artikelkatalog
Hur ansöker man om Let's Encrypt?
Låt oss kryptera SSL-certifikatprincip och installationshandledning
Vad är SSL? Chen Weiliang diskuterade detta i sin tidigare artikel, " Vad är skillnaden mellan HTTP och HTTPS? En detaljerad förklaring av SSL-krypteringsprocessen ."
Förutom e- handelswebbplatser, som måste köpa avancerade krypterade SSL-certifikat, kan nya medieexperter som använder webbplatser för att marknadsföra sina officiella WeChat-konton faktiskt installera gratis krypterade SSL-certifikat. Detta kan hjälpa till med SEO och förbättra webbplatsens sökordsrankning i sökmotorer.

Let's Encrypt har ett eget arbetsflöde ( https://certbot.eff.org/ ). Linux- användare kan använda det arbetsflödet och följa den här handledningen.
Ladda ner verktyget certbot-auto först och kör sedan verktygets installationsberoenden.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
Generera SSL-certifikat
Ta sedan Chen Weiliangs bloggdomännamn som exempel, ändra det efter dina egna behov och kör följande kommando via SSH.
Var noga med att ändra kommandot i:
- brevlåda
- serversökväg
- webbplatsens domännamn
Enskild domän enda katalog, generera ett certifikat:
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
En katalog för flera domäner, generera ett certifikat: (dvs. flera domännamn, en katalog, använd samma certifikat)
./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
Det genererade SSL-certifikatet kommer att sparas i:/etc/letsencrypt/live/www.chenweiliang.com/ Under innehåll.
Flera domännamn och flera kataloger, generera ett certifikat: (det vill säga flera domännamn, flera kataloger, använd samma certifikat)
./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
Efter att Let's Encrypt-certifikatet har installerats, visas följande meddelande i SSH:
VIKTIGA ANTECKNINGAR:
– Grattis Ditt certifikat och XNUMX kapain har sparats på:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Din nyckelfil har sparats på:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Ditt certifikat upphör att gälla 2018-02-26. För att få ett nytt eller tweaked
version av detta certifikat i framtiden, kör helt enkelt certbot-auto
igen. För att icke-interaktivt förnya *alla* dina certifikat, kör
"certbot-auto förnya"
- Om du gillar Certbot, var vänlig överväga att stödja vårt arbete genom att:
Donera till ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donera till EFF: https://eff.org/donate-le
Förnyelse av SSL-certifikat
Certifikatförnyelse är också mycket bekvämt, med hjälp av crontab för automatisk förnyelse. För vissa Debian-versioner som inte har crontab installerat kan du först installera det manuellt.
apt-get install cron
Följande kommandon för nginx och apache matas in i filen /etc/crontab , vilket innebär att de förnyas var tionde dag, och en giltighetsperiod på 90 dagar är tillräcklig.
Nginx crontab-fil, lägg till:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Apache crontab-fil, lägg till:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
SSL-certifikat Apache-konfiguration
Nu måste vi göra ändringar i Apache-konfigurationen.
tips:
- om du använderCWP kontrollpanel, i kryssrutan Lägg till domännamn Generera automatiskt ett SSL-certifikat, kommer det automatiskt att konfigurera SSL-certifikatet för Apache.
- Om du gör fler av följande steg kan ett fel uppstå efter omstart av Apache.
- Om det finns ett fel, radera konfigurationen du lade till manuellt.
Redigera filen httpd.conf ▼
/usr/local/apache/conf/httpd.conf
Hitta ▼
Listen 443
- (ta bort föregående kommentarsnummer #)
eller lägg till lyssningsport 443 ▼
Listen 443
SSH kontrollera Apache-lyssningsporten ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
Hitta ▼
mod_ssl
- (ta bort föregående kommentarsnummer #)
eller lägg till ▼
LoadModule ssl_module modules/mod_ssl.so
Hitta ▼
httpd-ssl
- (ta bort föregående kommentarsnummer #)
SSH kör sedan följande kommando (observera att ändra sökvägen till din egen):
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
Nästa steg, i slutet av Apache-konfigurationen för webbplatsen du skapade, under </VirtualHost>.
Lägg till konfigurationsfilen för SSL-sektionen (observera att ta bort kommentaren och ändra sökvägen till din egen):
<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>
Starta slutligen om Apache på den:
service httpd restart
Apache tvingar HTTP-omdirigering till HTTPS
- Många webbförfrågningar kan alltid endast köras med SSL.
- Vi måste se till att varje gång vi använder SSL måste webbplatsen nås via SSL.
- Om någon användare försöker komma åt webbplatsen med en icke-SSL-URL måste han omdirigeras till SSL-webbplatsen.
- Omdirigera till SSL URL med Apache mod_rewrite modul.
- Som att använda LAMP-installationspaket med ett klick, inbyggd automatisk installation av SSL-certifikat och tvingad omdirigering till HTTPS, omdirigering till HTTPSI kraft, behöver du inte lägga till en HTTPS-omdirigering.
Lägg till omdirigeringsregel
- I Apaches konfigurationsfil, redigera webbplatsens virtuella värd och lägg till följande inställningar.
- Du kan också lägga till samma inställningar i dokumentroten på din webbplats i din .htaccess-fil.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Om du bara vill ange en viss URL för att omdirigera till HTTPS:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- Om någon försöker komma åt meddelande , kommer sidan att hoppa till https och användaren kan bara komma åt URL:en med SSL.
Starta om Apache för att .htaccess-filen ska börja gälla:
service httpd restart
注意 事项
- Vänligen ändra ovanstående e-postadress till din e-postadress.
- Kom ihåg att ändra ovanstående webbplatsdomännamn till ditt webbplatsdomännamn.
Omdirigeringsregelns platsproblem
När man placerar omdirigeringsregler under pseudostatiska regler stöter man ofta på problemet att HTTP inte kan omdirigera hela webbplatsen till HTTPS.
Från början kopierade vi omdirigeringskoden till .htaccess och den kommer att visas i följande fall ▼
![Omdirigeringsregeln [L] finns ovan. Omdirigeringsregeln [L] finns ovan.](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] indikerar att den nuvarande regeln är den sista regeln, sluta analysera följande omskrivningsregler.
- Så när du kommer åt den omdirigerade artikelsidan stoppar [L] följande regler, så omdirigeringsreglerna fungerar inte.
När vi öppnar en HTTP-hemsida vill vi utlösa en URL-omdirigering, som kringgår URL-omskrivningsreglerna för att köra omdirigeringsreglerna, så att hela webbplatsen kan omdirigeras från HTTP till HTTPS.
Placera inte HTTPS-omdirigeringsregler under [L] -regler; placera dem ovanför [L] -regler. ▼
![De pseudostatiska SSL-omdirigeringsreglerna [L] finns nedan. De pseudostatiska SSL-omdirigeringsreglerna [L] finns nedan.](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
Utökad läsning:
- Vad är skillnaden mellan http och https? Detaljerad förklaring av SSL-krypteringsprocessen
- Vad ska jag göra om jag får fel 500 efter att ha installerat Let's Encrypt SSL-certifikatet i CWP-kontrollpanelen?
- Hoppa automatiskt till domännamnet på andra nivån utan www-toppdomännamnet: rotdomännamnet 301 omdirigerar www
Förhoppningsvis kommer artikeln "Hur ansöker man om Let's Encrypt? Principen och installationshandledningen för gratis SSL-certifikat från Let's Encrypt" som delas på Chen Weiliangs blogg ( https://www.chenweiliang.com/ ) att vara till hjälp för dig.
Dela gärna länken till den här artikeln: https://www.chenweiliang.com/cwl-512.html
