Kaip pateikti paraišką dėl Let's Encrypt? Let's Encrypt SSL nemokamo sertifikato principas ir diegimo pamoka

Kaip kreiptis dėl Let's Encrypt?

Užšifruokime SSL sertifikato principą ir diegimo pamoką

Kas yra SSL? Chen Weiliangas tai aptarė ankstesniame savo straipsnyje „ Kuo skiriasi HTTP ir HTTPS? Išsamus SSL šifravimo proceso paaiškinimas “.

Be el. prekybos svetainių, kurios privalo įsigyti pažangius užšifruotus SSL sertifikatus, naujosios žiniasklaidos specialistai, kurie naudoja svetaines savo oficialioms „WeChat“ paskyroms reklamuoti , gali įdiegti nemokamus užšifruotus SSL sertifikatus. Tai gali padėti pagerinti SEO ir svetainės raktinių žodžių reitingą paieškos sistemose.

Kaip pateikti paraišką dėl Let's Encrypt? Let's Encrypt SSL nemokamo sertifikato principas ir diegimo pamoka

„Let's Encrypt“ turi savo darbo eigą ( https://certbot.eff.org/ ). „Linux“ naudotojai gali remtis šia darbo eiga ir vadovautis šia pamoka.

Pirmiausia atsisiųskite certbot-auto įrankį, tada paleiskite įrankio diegimo priklausomybes.

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

Sukurkite SSL sertifikatą

Toliau, paimdami Chen Weiliango tinklaraščio domeno vardą kaip pavyzdį, pakeiskite jį pagal savo poreikius ir paleiskite šią komandą per SSH.

Būtinai pakeiskite komandą:

  1. Pašto dėžutė
  2. serverio kelias
  3. svetainės domeno vardas

Vieno domeno vienas katalogas, sugeneruokite 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

Kelių domenų vienas katalogas, sugeneruokite sertifikatą: (ty keli domenų vardai, vienas katalogas, naudokite tą patį 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

Sukurtas SSL sertifikatas bus išsaugotas:/etc/letsencrypt/live/www.chenweiliang.com/ Pagal turinį.


Keli domenų vardai ir keli katalogai, sugeneruokite sertifikatą: (tai yra, keli domenų vardai, keli katalogai, naudokite tą patį 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

Sėkmingai įdiegus sertifikatą Let's Encrypt, SSH pasirodys šis raginimas:

SVARBIOS PASTABOS:
– Sveikiname!Jūsų sertifikatas ir chain buvo išsaugoti adresu:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Jūsų rakto failas buvo išsaugotas adresu:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Jūsų sertifikatas baigs galioti 2018-02-26. Norėdami gauti naują arba pataisytą
šio sertifikato versiją ateityje, tiesiog paleiskite certbot-auto
Jei norite neinteraktyviai atnaujinti *visus* sertifikatus, paleiskite
„certbot-auto renew“
- Jei jums patinka „Certbot“, apsvarstykite galimybę paremti mūsų darbą:
Auka ISRG / Let's Encrypt: https://letsencrypt.org/donate
Aukojimas EŽF: https://eff.org/donate-le

SSL sertifikato atnaujinimas

Sertifikatų atnaujinimas taip pat labai patogus, naudojant „crontab“ automatiniam atnaujinimui. Kai kuriose „Debian“ versijose, kuriose nėra įdiegtos „crontab“, galite ją pirmiausia įdiegti rankiniu būdu.

apt-get install cron

Šios „nginx“ ir „apache“ komandos yra įrašytos į /etc/crontab failą, tai reiškia, kad jos atnaujinamos kas 10 dienų, o 90 dienų galiojimo laikotarpis yra pakankamas.

Nginx crontab failą, pridėkite:

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

Apache crontab failą, pridėkite:

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

SSL sertifikato „Apache“ konfigūracija

Dabar turime pakeisti „Apache“ konfigūraciją.

Patarimai:

  • jei naudojateCWP valdymo skydelis, pažymėkite Pridėti domeno pavadinimą Automatiškai generuoti SSL sertifikatą, jis automatiškai sukonfigūruos Apache SSL sertifikatą.
  • Jei atliksite daugiau iš šių veiksmų, iš naujo paleidus Apache gali įvykti klaida.
  • Jei įvyko klaida, ištrinkite rankiniu būdu pridėtą konfigūraciją.

Redaguokite httpd.conf failą ▼

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

Rasti ▼

Listen 443
  • (pašalinkite ankstesnį komentaro numerį #)

arba pridėkite klausymosi prievadą 443 ▼

Listen 443

SSH patikrinkite „Apache“ klausymo prievadą ▼

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

Rasti ▼

mod_ssl
  • (pašalinkite ankstesnį komentaro numerį #)

arba pridėti ▼

LoadModule ssl_module modules/mod_ssl.so

Rasti ▼

httpd-ssl
  • (pašalinkite ankstesnį komentaro numerį #)

Tada SSH vykdykite šią komandą (pastaba pakeisti kelią į savo):

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

Toliau, sukurtos svetainės „Apache“ konfigūracijos pabaigoje, dalyje </VirtualHost>.

Pridėkite SSL skyriaus konfigūracijos failą (pastaba pašalinti komentarą ir pakeisti kelią į savo):

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

Galiausiai iš naujo paleiskite „Apache“:

service httpd restart

„Apache“ priverčia HTTP peradresavimą į HTTPS

  • Daugelis žiniatinklio užklausų visada gali būti vykdomos tik naudojant SSL.
  • Turime užtikrinti, kad kiekvieną kartą, kai naudojame SSL, svetainė turi būti pasiekiama per SSL.
  • Jei kuris nors vartotojas bando pasiekti svetainę naudodamas ne SSL URL, jis turi būti nukreiptas į SSL svetainę.
  • Peradresuokite į SSL URL naudodami Apache mod_rewrite modulį.
  • Jei naudojate LAMP vieno spustelėjimo diegimo paketą, integruotą automatinį SSL sertifikato diegimą ir priverstinį peradresavimą į HTTPS, peradresavimą į HTTPSGalioja, jums nereikia pridėti HTTPS peradresavimo.

Pridėti peradresavimo taisyklę

  • „Apache“ konfigūracijos faile redaguokite svetainės virtualųjį prieglobą ir pridėkite šiuos nustatymus.
  • Taip pat galite įtraukti tuos pačius parametrus į dokumento šaknį savo svetainėje .htaccess faile.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Jei tiesiog norite nurodyti tam tikrą URL, kurį norite peradresuoti į HTTPS:

RewriteEngine On
RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
  • Jei kas nors bandys prieiti žinutė , puslapis pereis į https, o vartotojas gali pasiekti URL tik naudodamas SSL.

Iš naujo paleiskite „Apache“, kad .htaccess failas įsigaliotų:

service httpd restart

注意 事项

  • Pakeiskite aukščiau nurodytą el. pašto adresą į savo el. pašto adresą.
  • Nepamirškite pakeisti anksčiau pateikto svetainės domeno pavadinimo į savo svetainės domeno pavadinimą.

Peradresavimo taisyklės vietos problema

Kai peradresavimo taisykles dedate į pseudostatines taisykles, dažnai susidursite su problema, kad HTTP negali peradresuoti visos svetainės į HTTPS.

Iš pradžių peradresavimo kodą nukopijavome į .htaccess ir jis bus rodomas šiais atvejais ▼

Peradresavimo taisyklė [L] pateikta aukščiau.

  • [L] rodo, kad dabartinė taisyklė yra paskutinė, nustokite analizuoti šias perrašymo taisykles.
  • Taigi, kai pasiekiate peradresuoto straipsnio puslapį, [L] sustabdo šią taisyklę, todėl peradresavimo taisyklė neveikia.

Kai pasiekiamas HTTP pagrindinis puslapis, norime sukelti URL peradresavimą, apeinant URL perrašymo taisykles, kad būtų įvykdytos peradresavimo taisyklės, jog visa svetainė būtų peradresuojama iš HTTP į HTTPS.

Nedėkite HTTPS peradresavimo taisyklių po [L] taisyklėmis; įdėkite jas virš [L] taisyklių. ▼

Pseudostatinės SSL peradresavimo taisyklės [L] pateiktos žemiau.

Papildoma literatūra:

发表 评论

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

Pereikite į viršų