Imenik člankov
Kako se prijaviti za Let's Encrypt?
Načelo šifriranja potrdila SSL in vadnica za namestitev
Kaj je SSL? Chen Weiliang je o tem razpravljal v svojem prejšnjem članku » Kakšna je razlika med HTTP in HTTPS? Podrobna razlaga postopka šifriranja SSL «.
Poleg spletnih trgovin , ki morajo kupiti napredna šifrirana potrdila SSL, lahko strokovnjaki za nove medije , ki uporabljajo spletna mesta za promocijo svojih uradnih računov WeChat, dejansko namestijo brezplačna šifrirana potrdila SSL. To lahko pomaga pri SEO in izboljša uvrstitev spletnega mesta med ključnimi besedami v iskalnikih.

Let's Encrypt ima svoj potek dela ( https://certbot.eff.org/ ). Uporabniki Linuxa se lahko sklicujejo na ta potek dela in sledijo tej vadnici.
Najprej prenesite orodje certbot-auto, nato pa zaženite namestitvene odvisnosti orodja.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
Ustvari SSL potrdilo
Nato vzemimo za primer ime domene bloga Chen Weiliang in ga spremenimo glede na svoje potrebe ter prek SSH zaženemo naslednji ukaz.
Ne pozabite spremeniti ukaza v:
- nabiralnik
- pot strežnika
- ime domene spletne strani
En sam imenik z eno domeno, ustvari potrdilo:
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
Enotni imenik z več domenami, ustvarite potrdilo: (tj. več imen domen, en imenik, uporabite isto potrdilo)
./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
Ustvarjeno potrdilo SSL bo shranjeno v:/etc/letsencrypt/live/www.chenweiliang.com/ Pod vsebino.
Več imen domen in več imenikov, ustvarite potrdilo: (to je več imen domen, več imenikov, uporabite isto potrdilo)
./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
Ko je potrdilo Let's Encrypt uspešno nameščeno, se bo v SSH pojavilo naslednje pozivno sporočilo:
POMEMBNE OPOMBE:
– Čestitamo! Vaš certifikat in poglain so bili shranjeni na:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Vaša ključna datoteka je bila shranjena na:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Vaše potrdilo bo poteklo 2018. februarja 02. Za pridobitev novega ali spremenjenega
različico tega potrdila v prihodnosti preprosto zaženite certbot-auto
Če želite neinteraktivno obnoviti *vsa* vaša potrdila, zaženite
"certbot-samodejna obnovitev"
- Če vam je všeč Certbot, prosimo, podprite naše delo z:
Donirajte ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donacije za EFF: https://eff.org/donate-le
Podaljšanje SSL certifikata
Podaljšanje potrdila je prav tako zelo priročno, saj se za samodejno podaljševanje uporablja crontab . Pri nekaterih različicah Debiana, ki nimajo nameščenega crontaba, ga lahko najprej namestite ročno.
apt-get install cron
Naslednji ukazi za nginx in apache so vneseni v datoteko /etc/crontab , kar pomeni, da se obnavljata vsakih 10 dni, zadostuje pa 90-dnevno obdobje veljavnosti.
Datoteka Nginx crontab, dodajte:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Datoteka Apache crontab, dodajte:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
Konfiguracija potrdila SSL Apache
Zdaj moramo spremeniti konfiguracijo Apache.
Nasveti:
- če uporabljateNadzorna plošča CWP, v polju Dodaj ime domene potrdite Samodejno ustvari potrdilo SSL, samodejno konfigurira potrdilo SSL za Apache.
- Če naredite več od naslednjih korakov, lahko pride do napake po ponovnem zagonu Apache.
- Če pride do napake, izbrišite konfiguracijo, ki ste jo dodali ročno.
Uredite datoteko httpd.conf ▼
/usr/local/apache/conf/httpd.conf
Poišči ▼
Listen 443
- (odstranite številko prejšnjega komentarja #)
ali dodajte vrata za poslušanje 443 ▼
Listen 443
SSH preveri poslušajoča vrata Apache ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
Poišči ▼
mod_ssl
- (odstranite številko prejšnjega komentarja #)
ali dodajte ▼
LoadModule ssl_module modules/mod_ssl.so
Poišči ▼
httpd-ssl
- (odstranite številko prejšnjega komentarja #)
Nato SSH izvedite naslednji ukaz (upoštevajte, da spremenite pot v svojo):
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
Nato na koncu konfiguracije Apacheja za spletno mesto, ki ste ga ustvarili, pod </VirtualHost>.
Dodajte konfiguracijsko datoteko razdelka SSL (upoštevajte, da odstranite komentar in spremenite pot v svojo):
<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>
Končno znova zaženite Apache na njem:
service httpd restart
Apache vsili HTTP preusmeritev na HTTPS
- Številne spletne zahteve se lahko vedno izvajajo samo s SSL.
- Zagotoviti moramo, da je treba vsakič, ko uporabimo SSL, do spletne strani dostopati prek SSL.
- Če kateri koli uporabnik poskuša dostopati do spletnega mesta z URL-jem, ki ni SSL, mora biti preusmerjen na spletno mesto SSL.
- Preusmeri na URL SSL z uporabo modula Apache mod_rewrite.
- Na primer uporaba namestitvenega paketa LAMP z enim klikom, vgrajena samodejna namestitev potrdila SSL in prisilna preusmeritev na HTTPS, preusmeritev na HTTPSV veljavi, vam ni treba dodati preusmeritve HTTPS.
Dodaj pravilo preusmeritve
- V konfiguracijski datoteki Apache uredite navideznega gostitelja spletnega mesta in dodajte naslednje nastavitve.
- Enake nastavitve lahko dodate tudi korenu dokumenta na svojem spletnem mestu v datoteki .htaccess.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Če želite samo določiti določen URL za preusmeritev na HTTPS:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- Če nekdo poskuša dostopati Sporočilo , bo stran skočila na https, uporabnik pa lahko dostopa do URL-ja samo s SSL.
Znova zaženite Apache, da bo datoteka .htaccess začela veljati:
service httpd restart
注意 事项
- Spremenite zgornji e-poštni naslov v svoj e-poštni naslov.
- Ne pozabite spremeniti zgornjega imena domene spletnega mesta v ime domene svojega spletnega mesta.
Težava z lokacijo pravila preusmeritve
Pri postavljanju pravil preusmeritve pod psevdostatična pravila boste pogosto naleteli na težavo, da HTTP ne more preusmeriti celotnega spletnega mesta na HTTPS.
Sprva smo kodo za preusmeritev kopirali v .htaccess in se bo pojavila v naslednjih primerih ▼
![Pravilo preusmeritve [L] je zgoraj. Pravilo preusmeritve [L] je zgoraj.](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] označuje, da je trenutno pravilo zadnje pravilo, prenehajte analizirati naslednja pravila prepisovanja.
- Ko torej dostopa do strani s preusmerjenim člankom, [L] ustavi naslednja pravila, tako da pravila za preusmeritev ne delujejo.
Pri dostopu do domače strani HTTP želimo sprožiti preusmeritev URL-ja, s čimer zaobidemo pravila za prepisovanje URL-jev in izvedemo pravila preusmeritve, tako da je mogoče celotno spletno mesto preusmeriti s HTTP na HTTPS.
Pravil za preusmeritev HTTPS ne postavljajte pod pravila [L] , temveč nad pravila [L] . ▼
![Spodaj so navedena psevdostatična pravila preusmeritve SSL [L]. Spodaj so navedena psevdostatična pravila preusmeritve SSL [L].](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
Podaljšano branje:
- Kakšna je razlika med http in https? Podrobna razlaga postopka šifriranja SSL
- Kaj naj storim, če po namestitvi SSL certifikata Let's Encrypt v nadzorni plošči CWP dobim napako 500?
- Samodejni skok na ime domene druge ravni brez imena vrhnje domene www: ime korenske domene 301 preusmeri www
Upam, da vam bo članek »Kako se prijaviti za Let's Encrypt? Načelo in vadnica za namestitev brezplačnih SSL-certifikatov Let's Encrypt«, objavljen na blogu Chen Weilianga ( https://www.chenweiliang.com/ ), v pomoč.
Delite povezavo do tega članka: https://www.chenweiliang.com/cwl-512.html
