Artikola Adresaro
Kiel kandidatiĝi por Let's Encrypt?
Ni Ĉifri SSL-Atestilan Principon kaj Instaladon
Kio estas SSL? Chen Weiliang diskutis tion en sia antaŭa artikolo, " Kio estas la diferenco inter HTTP kaj HTTPS? Detala klarigo pri la SSL-ĉifrada procezo ."
Krom retkomercaj retejoj, kiuj devas aĉeti progresintajn ĉifritajn SSL-atestilojn, novmediaj profesiuloj, kiuj uzas retejojn por reklami siajn oficialajn WeChat-kontojn, povas efektive instali senpagajn ĉifritajn SSL-atestilojn. Tio povas helpi kun SEO kaj plibonigi la ŝlosilvortan rangon de la retejo en serĉiloj.

Let's Encrypt havas sian propran laborfluon ( https://certbot.eff.org/ ). Uzantoj de Linukso povas rilati al tiu laborfluo kaj sekvi ĉi tiun lernilon.
Elŝutu la certbot-aŭtomatan ilon unue, poste rulu la instalajn dependecojn de la ilo.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
Generu SSL-atestilon
Sekve, prenante la blogan domajnon de Chen Weiliang kiel ekzemplon, bonvolu modifi ĝin laŭ viaj propraj bezonoj kaj lanĉi la jenan komandon per SSH.
Nepre modifi la komandon en:
- Poŝtejo
- servila vojo
- retpaĝa domajna nomo
Ununura domajna ununura dosierujo, generu atestilon:
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
Plurdomajna ununura dosierujo, generu atestilon: (te, pluraj domajnaj nomoj, ununura dosierujo, uzu la saman atestilon)
./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
La generita SSL-atestilo estos konservita en:/etc/letsencrypt/live/www.chenweiliang.com/ Sub enhavo.
Multoblaj domajnaj nomoj kaj pluraj dosierujoj, generu atestilon: (tio estas, pluraj domajnaj nomoj, pluraj dosierujoj, uzu la saman atestilon)
./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
Post kiam la atestilo Ni Ĉifri estas sukcese instalita, la sekva prompta mesaĝo aperos en SSH:
GRAVAJN NOTOJ:
– Gratulon!Via atestilo kaj chain estis konservitaj ĉe:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Via ŝlosildosiero estas konservita ĉe:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Via atesto eksvalidiĝos je 2018-02-26 Por akiri novan aŭ ĝustigitan
versio de ĉi tiu atestilo estonte, simple rulu certbot-auto
denove. Por ne-interage renovigi *ĉiujn* viajn atestojn, kuru
"certbot-aŭtomata renovigo"
- Se vi ŝatas Certbot, bonvolu konsideri subteni nian laboron per:
Donaci al ISRG / Ni Ĉifru: https://letsencrypt.org/donate
Donaci al EFF: https://eff.org/donate-le
Renovigo de SSL-Atestilo
Renovigo de atestiloj estas ankaŭ tre oportuna, uzante crontab por aŭtomata renovigo. Por iuj Debian-versioj, kiuj ne havas crontab instalitan, vi povas unue instali ĝin permane.
apt-get install cron
La jenaj komandoj por nginx kaj apache estas enmetitaj en la dosieron /etc/crontab , kio signifas, ke ili estas renovigataj ĉiujn 10 tagojn, kaj 90-taga validperiodo sufiĉas.
Nginx crontab-dosiero, bonvolu aldoni:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Apache crontab dosiero, bonvolu aldoni:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
SSL-atestilo Apache-agordo
Nun ni devas fari ŝanĝojn al la Apache-agordo.
Konsiloj:
- se vi uzasCWP Kontrolpanelo, en la ĉeko Aldoni domajnan nomon Aŭtomate generi SSL-atestilon, ĝi aŭtomate agordos la SSL-atestilon por Apache.
- Se vi faras pliajn el la sekvaj paŝoj, eraro povas okazi post rekomenco de Apache.
- Se estas eraro, forigu la agordon, kiun vi aldonis permane.
Redaktu la httpd.conf dosieron ▼
/usr/local/apache/conf/httpd.conf
Trovu ▼
Listen 443
- (forigu la antaŭan komentan numeron #)
aŭ aldonu aŭskultan havenon 443 ▼
Listen 443
SSH-kontrolu Apache-aŭskultantan havenon ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
Trovu ▼
mod_ssl
- (forigu la antaŭan komentan numeron #)
aŭ aldonu ▼
LoadModule ssl_module modules/mod_ssl.so
Trovu ▼
httpd-ssl
- (forigu la antaŭan komentan numeron #)
Poste, SSH plenumu la sekvan komandon (notu por ŝanĝi la vojon al via propra):
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
Poste, ĉe la fino de la Apache-agordo por la retejo, kiun vi kreis, sub </VirtualHost>.
Aldonu la agordan dosieron de la sekcio SSL (notu por forigi la komenton, kaj ŝanĝi la vojon al via propra):
<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>
Fine rekomencu Apache sur ĝi:
service httpd restart
Apache devigas HTTP-redirektilon al HTTPS
- Multaj retpetoj ĉiam povas funkcii nur per SSL.
- Ni devas certigi, ke ĉiufoje kiam ni uzas SSL, la retejo devas esti alirita per SSL.
- Se iu ajn uzanto provas aliri la retejon kun URL ne-SSL, li devas esti redirektita al la retejo de SSL.
- Alidirekti al SSL URL per Apache mod_rewrite-modulo.
- Kiel uzi LAMP-unu-klakan instalpakaĵon, enkonstruitan aŭtomatan instaladon de SSL-atestilo kaj devigan alidirekton al HTTPS, alidirekton al HTTPSEn forto, vi ne bezonas aldoni HTTPS-alidirektilon.
Aldonu alidirektigan regulon
- En la agorda dosiero de Apache, redaktu la virtualan gastiganton de la retejo kaj aldonu la sekvajn agordojn.
- Vi ankaŭ povas aldoni la samajn agordojn al la dokumentradiko en via retejo en via .htaccess-dosiero.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Se vi nur volas specifi certan URL por redirekti al HTTPS:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- Se iu provas aliri mesaĝo , la paĝo saltos al https, kaj la uzanto nur povas aliri la URL kun SSL.
Rekomencu Apache por ke la .htaccess-dosiero ekvalidu:
service httpd restart
Antaŭzorgoj
- Bonvolu ŝanĝi la supran retadreson al via retadreso.
- Bonvolu memori ŝanĝi la supran retejan domajnan nomon al via reteja domajna nomo.
Redirekta regulo-loka problemo
Kiam oni metas alidirektajn regulojn sub pseŭdostatikajn regulojn, oni ofte renkontos la problemon, ke HTTP ne povas alidirekti la tutan retejon al HTTPS.
Komence ni kopiis la alidirektilon en .htaccess kaj ĝi aperos en la sekvaj kazoj ▼
![La alidirekta regulo [L] estas supre. La alidirekta regulo [L] estas supre.](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] indikas ke la nuna regulo estas la lasta regulo, ĉesu analizi la sekvajn reverkajn regulojn.
- Do alirante la alidirektitan artikolpaĝon, [L] ĉesigas la sekvan regulon, do la alidirekta regulo ne funkcias.
Kiam ni aliras HTTP-hejmpaĝon, ni volas ekigi URL-alidirektadon, preterirante la URL-reskribajn regulojn por efektivigi la alidirektajn regulojn, por ke la tuta retejo povu esti redirektita de HTTP al HTTPS.
Ne metu HTTPS-alidirektajn regulojn sub [L] regulojn; metu ilin super [L] regulojn. ▼
![La pseŭdostatikaj SSL-alidirektaj reguloj [L] estas sube. La pseŭdostatikaj SSL-alidirektaj reguloj [L] estas sube.](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
Plilongigita legado:
- Kio estas la diferenco inter http kaj https? Detala klarigo pri SSL-ĉifrada procezo
- Kion mi faru se mi ricevas eraron 500 post instalo de la atestilo Let's Encrypt SSL en la kontrolpanelo de CWP?
- Aŭtomate saltu al la duanivela domajna nomo sen la www-supernivela domajna nomo: la radika domajna nomo 301 alidirektas www.
Espereble, la artikolo "Kiel Peti Let's Encrypt? Principoj kaj Instala Lernilo de Let's Encrypt Senpagaj SSL-Atestiloj" dividita en la blogo de Chen Weiliang ( https://www.chenweiliang.com/ ) estos helpema al vi.
Bonvolu kunhavigi la ligilon al ĉi tiu artikolo: https://www.chenweiliang.com/cwl-512.html
