Artikkelkatalog
Hvordan søke om Let's Encrypt?
La oss kryptere SSL-sertifikatprinsipp og installasjonsveiledning
Hva er SSL? Chen Weiliang diskuterte dette i sin forrige artikkel, « Hva er forskjellen mellom HTTP og HTTPS? En detaljert forklaring av SSL-krypteringsprosessen ».
I tillegg til netthandelsnettsteder , som må kjøpe SSL-sertifikater med høy kryptering, kan nye mediefolk som bruker nettsteder for å markedsføre sine offisielle WeChat-kontoer faktisk installere gratis krypterte SSL-sertifikater. Dette kan hjelpe med SEO og forbedre nettstedets rangering i søkemotorer.

Let's Encrypt har sin egen arbeidsflyt ( https://certbot.eff.org/ ). Linux- brukere kan se denne arbeidsflyten og følge denne veiledningen.
Last ned certbot-auto-verktøyet først, og kjør deretter verktøyets installasjonsavhengigheter.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
Generer SSL-sertifikat
Ta deretter Chen Weiliangs bloggdomenenavn som et eksempel, og endre det etter dine egne behov og kjør følgende kommando via SSH.
Pass på å endre kommandoen i:
- postboks
- serverbane
- nettstedets domenenavn
Enkelt domene enkelt katalog, generer et sertifikat:
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
Enkeltkatalog med flere domene, generer et sertifikat: (dvs. flere domenenavn, enkeltkatalog, bruk samme sertifikat)
./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 genererte SSL-sertifikatet vil bli lagret i:/etc/letsencrypt/live/www.chenweiliang.com/ Under innhold.
Flere domenenavn og flere kataloger, generer et sertifikat: (det vil si flere domenenavn, flere kataloger, bruk samme sertifikat)
./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
Etter at Let's Encrypt-sertifikatet er installert, vil følgende ledetekst vises i SSH:
VIKTIGE NOTATER:
– Gratulerer! Ditt sertifikat og kapain har blitt lagret på:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Nøkkelfilen din er lagret på:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Ditt sertifikat vil utløpe 2018-02-26. For å få et nytt eller finjustert
versjon av dette sertifikatet i fremtiden, bare kjør certbot-auto
igjen. For å ikke-interaktivt fornye *alle* sertifikatene dine, kjør
"certbot-auto fornyelse"
- Hvis du liker Certbot, kan du vurdere å støtte vårt arbeid ved å:
Donasjoner til ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donasjoner til EFF: https://eff.org/donate-le
SSL-sertifikatfornyelse
Sertifikatfornyelse er også veldig praktisk, ved å bruke crontab for automatisk fornyelse. For noen Debian-versjoner som ikke har crontab installert, kan du installere det manuelt først.
apt-get install cron
Følgende kommandoer for nginx og apache legges inn i /etc/crontab- filen, noe som betyr at de fornyes hver 10. dag, og en gyldighetsperiode på 90 dager er tilstrekkelig.
Nginx crontab-fil, vennligst legg til:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Apache crontab-fil, vennligst legg til:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
SSL-sertifikat Apache-konfigurasjon
Nå må vi gjøre endringer i Apache-konfigurasjonen.
tips:
- hvis du brukerCWP kontrollpanel, i avmerkingen Legg til domenenavn Generer automatisk et SSL-sertifikat, vil den automatisk konfigurere SSL-sertifikatet for Apache.
- Hvis du gjør flere av de følgende trinnene, kan det oppstå en feil etter omstart av Apache.
- Hvis det er en feil, slett konfigurasjonen du la til manuelt.
Rediger httpd.conf-filen ▼
/usr/local/apache/conf/httpd.conf
Finn ▼
Listen 443
- (fjern det forrige kommentarnummeret #)
eller legg til lytteport 443 ▼
Listen 443
SSH sjekk Apache-lytteporten ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
Finn ▼
mod_ssl
- (fjern det forrige kommentarnummeret #)
eller legg til ▼
LoadModule ssl_module modules/mod_ssl.so
Finn ▼
httpd-ssl
- (fjern det forrige kommentarnummeret #)
Deretter utfører SSH følgende kommando (merk for å endre banen til 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
Deretter, på slutten av Apache-konfigurasjonen for nettstedet du opprettet, under </VirtualHost>.
Legg til konfigurasjonsfilen til SSL-delen (merk for å fjerne kommentaren og endre banen til 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>
Til slutt start Apache på nytt på den:
service httpd restart
Apache tvinger HTTP-omdirigering til HTTPS
- Mange nettforespørsler kan alltid bare kjøres med SSL.
- Vi må sørge for at hver gang vi bruker SSL, må nettsiden nås via SSL.
- Hvis en bruker prøver å få tilgang til nettstedet med en ikke-SSL-URL, må han omdirigeres til SSL-nettstedet.
- Omdiriger til SSL URL ved hjelp av Apache mod_rewrite-modulen.
- Slik som bruk av LAMP ett-klikks installasjonspakke, innebygd automatisk installasjon av SSL-sertifikat og tvungen omdirigering til HTTPS, omdirigering til HTTPSI kraft, trenger du ikke legge til en HTTPS-viderekobling.
Legg til omdirigeringsregel
- I Apaches konfigurasjonsfil, rediger nettstedets virtuelle vert og legg til følgende innstillinger.
- Du kan også legge til de samme innstillingene til dokumentroten på nettstedet ditt i .htaccess-filen.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Hvis du bare vil spesifisere en bestemt URL for å omdirigere til HTTPS:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- Hvis noen prøver å få tilgang melding , vil siden hoppe til https, og brukeren kan kun få tilgang til URL-en med SSL.
Start Apache på nytt for at .htaccess-filen skal tre i kraft:
service httpd restart
forholdsregler
- Vennligst endre e-postadressen ovenfor til din e-postadresse.
- Husk å endre domenenavnet ovenfor til ditt nettsteds domenenavn.
Plasseringsproblem med omdirigeringsregel
Når du plasserer omdirigeringsregler under pseudostatiske regler, vil du ofte støte på problemet med at HTTP ikke kan omdirigere hele nettstedet til HTTPS.
Til å begynne med kopierte vi omdirigeringskoden til .htaccess, og den vil vises i følgende tilfeller ▼
![Omdirigeringsregelen [L] er ovenfor. Omdirigeringsregelen [L] er ovenfor.](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] indikerer at gjeldende regel er den siste regelen, slutt å analysere følgende omskrivingsregler.
- Så når du får tilgang til den omdirigerte artikkelsiden, stopper [L] følgende regel, slik at omdirigeringsregelen ikke fungerer.
Når vi åpner en HTTP-hjemmeside, ønsker vi å utløse en URL-omdirigering, som omgår reglene for URL-omskriving for å kjøre omdirigeringsreglene, slik at hele nettstedet kan omdirigeres fra HTTP til HTTPS.
Ikke plasser HTTPS-omdirigeringsregler under [L] -regler; plasser dem over [L] -regler. ▼
![De pseudostatiske SSL-omdirigeringsreglene [L] er nedenfor. De pseudostatiske SSL-omdirigeringsreglene [L] er nedenfor.](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
Utvidet lesing:
- Hva er forskjellen mellom http vs https? Detaljert forklaring av SSL-krypteringsprosessen
- Hva skal jeg gjøre hvis jeg får feil 500 etter å ha installert Let's Encrypt SSL-sertifikatet i CWP-kontrollpanelet?
- Hopp automatisk til domenenavnet på andre nivå uten www-toppnivådomenenavnet: rotdomenenavnet 301 omdirigerer www
Forhåpentligvis vil artikkelen «Hvordan søke om Let's Encrypt? Prinsipper og installasjonsveiledning for gratis SSL-sertifikater fra Let's Encrypt», som er delt på Chen Weiliangs blogg ( https://www.chenweiliang.com/ ), være nyttig for deg.
Del gjerne lenken til denne artikkelen: https://www.chenweiliang.com/cwl-512.html
