Let's Encrypt-д хэрхэн өргөдөл гаргах вэ? SSL үнэгүй гэрчилгээг шифрлэцгээе зарчим, суулгах заавар

Let's Encrypt-д хэрхэн өргөдөл гаргах вэ?

SSL сертификатын зарчим, суулгах зааварчилгааг шифрлэцгээе

SSL гэж юу вэ? Чен Вэйлян энэ талаар өмнөх " HTTP болон HTTPS-ийн ялгаа юу вэ? SSL шифрлэлтийн процессын дэлгэрэнгүй тайлбар " нийтлэлдээ дурдсан .

Дэвшилтэт шифрлэгдсэн SSL гэрчилгээ худалдан авах шаардлагатай цахим худалдааны вэбсайтуудаас гадна WeChat албан ёсны бүртгэлээ сурталчлахын тулд вэбсайт ашигладаг шинэ медиа мэргэжилтнүүд үнэгүй шифрлэгдсэн SSL гэрчилгээг суулгаж болно. Энэ нь SEO- д тусалж , вэбсайтын хайлтын систем дэх түлхүүр үгийн эрэмбийг сайжруулахад тусална.

Let's Encrypt-д хэрхэн өргөдөл гаргах вэ? SSL үнэгүй гэрчилгээг шифрлэцгээе зарчим, суулгах заавар

Let's Encrypt нь өөрийн гэсэн ажлын урсгалтай ( https://certbot.eff.org/ ). Линукс хэрэглэгчид уг ажлын урсгалыг үзэж, энэ зааврыг дагаж болно.

Эхлээд certbot-auto хэрэгслийг татаж аваад дараа нь уг хэрэгслийн суулгалтын хамаарлыг ажиллуулна уу.

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

SSL сертификат үүсгэх

Дараа нь, Чен Вэйлянгийн блогын домэйн нэрийг жишээ болгон авч үзвэл, өөрийн хэрэгцээнд тохируулан өөрчилж, дараах командыг SSH-ээр ажиллуулна уу.

Дараах командыг өөрчлөхөө мартуузай:

  1. Шуудангийн хайрцаг
  2. серверийн зам
  3. вэбсайтын домэйн нэр

Нэг домэйн нэг лавлах, гэрчилгээ үүсгэх:

./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com

Олон домайн нэг лавлах, гэрчилгээ үүсгэх: (өөрөөр хэлбэл, олон домэйн нэр, нэг лавлах, ижил сертификат ашиглах)

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

Үүсгэсэн SSL сертификат дараахад хадгалагдана:/etc/letsencrypt/live/www.chenweiliang.com/ Агуулгын дор.


Олон домэйн нэр болон олон лавлах, гэрчилгээ үүсгэх: (өөрөөр хэлбэл, олон домэйн нэр, олон лавлах, ижил гэрчилгээ ашиглах)

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

Let's Encrypt сертификатыг амжилттай суулгасны дараа SSH дээр дараах мессеж гарч ирнэ:

Чухал тэмдэглэл:
– Баяр хүргэе!Таны гэрчилгээ, chain хадгалагдсан байна:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Таны түлхүүр файлыг дараах хаягаар хадгалсан:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Таны гэрчилгээний хугацаа 2018-02-26-нд дуусна. Шинэ эсвэл өөрчилсөн гэрчилгээ авахын тулд
Ирээдүйд энэ гэрчилгээний хувилбарыг certbot-auto-г ажиллуулаарай
дахин. *Бүх* гэрчилгээгээ интерактивгүйгээр шинэчлэхийн тулд ажиллуулна уу
"certbot-auto renew"
- Хэрэв та Certbot-т дуртай бол бидний ажлыг дараахь байдлаар дэмжиж үзээрэй.
ISRG / Let's Encrypt-д хандив өргөх: https://letsencrypt.org/donate
EFF-д хандив өргөх: https://eff.org/donate-le

SSL гэрчилгээг шинэчлэх

Автоматаар шинэчлэхийн тулд crontab ашиглах нь гэрчилгээг шинэчлэхэд маш тохиромжтой . Crontab суулгаагүй зарим Debian хувилбаруудын хувьд та эхлээд гараар суулгаж болно.

apt-get install cron

Nginx болон apache-ийн дараах командуудыг /etc/crontab файлд оруулсан бөгөөд энэ нь тэдгээрийг 10 хоног тутамд шинэчилдэг бөгөөд 90 хоногийн хүчинтэй хугацаа хангалттай гэсэн үг юм.

Nginx crontab файлыг нэмнэ үү:

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

Apache crontab файлыг нэмнэ үү:

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

SSL сертификат Apache тохиргоо

Одоо бид Apache тохиргоонд өөрчлөлт оруулах хэрэгтэй.

Зөвлөмжүүд:

  • ашигладаг болCWP хяналтын самбар, Домэйн нэр нэмэх шалгах хэсэгт SSL сертификатыг автоматаар үүсгэвэл Apache-д зориулсан SSL сертификатыг автоматаар тохируулах болно.
  • Хэрэв та дараах алхмуудаас илүүг хийвэл Apache-г дахин эхлүүлсний дараа алдаа гарч болзошгүй.
  • Хэрэв алдаа гарвал гараар нэмсэн тохиргоогоо устгана уу.

httpd.conf файлыг засварлана ▼

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

▼ олох

Listen 443
  • (өмнөх комментийн дугаар # хасна)

эсвэл сонсох порт 443 ▼ нэмнэ үү

Listen 443

SSH Apache сонсох портыг шалгана уу ▼

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

▼ олох

mod_ssl
  • (өмнөх комментийн дугаар # хасна)

эсвэл ▼ нэмнэ үү

LoadModule ssl_module modules/mod_ssl.so

▼ олох

httpd-ssl
  • (өмнөх комментийн дугаар # хасна)

Дараа нь SSH дараах тушаалыг гүйцэтгэнэ (замыг өөрийн болгож өөрчлөхийг анхаарна уу):

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

Дараа нь, таны үүсгэсэн вэбсайтын Apache тохиргооны төгсгөлд, </VirtualHost> доор.

SSL хэсгийн тохиргооны файлыг нэмнэ үү (тайлбарыг устгаж, замыг өөрийнхөөрөө өөрчлөхийг анхаарна уу):

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

Эцэст нь Apache-г дахин эхлүүлнэ үү:

service httpd restart

Apache HTTP-г HTTPS рүү дахин чиглүүлэхийг албаддаг

  • Олон вэб хүсэлтийг үргэлж зөвхөн SSL-ээр ажиллуулж болно.
  • Бид SSL ашиглах бүртээ вэб сайтад SSL-ээр хандах ёстой гэдгийг анхаарах хэрэгтэй.
  • Хэрэв ямар ч хэрэглэгч SSL бус URL хаягаар вэбсайт руу нэвтрэхийг оролдвол түүнийг SSL вэбсайт руу дахин чиглүүлэх шаардлагатай.
  • Apache mod_rewrite модулийг ашиглан SSL URL руу дахин чиглүүлэх.
  • Хэрэв та нэг товшилтоор LAMP суулгах багц, SSL сертификатыг автоматаар суулгаж, HTTPS руу албадан дахин чиглүүлэх, HTTPS руу дахин чиглүүлэх боломжтой.Хүчин төгөлдөр байна, та HTTPS чиглүүлэлт нэмэх шаардлагагүй.

Дахин чиглүүлэх дүрмийг нэмнэ үү

  • Apache-ийн тохиргооны файлд вэб сайтын виртуал хостыг засаад дараах тохиргоог нэмнэ үү.
  • Та мөн ижил тохиргоог өөрийн .htaccess файлын вэбсайт дээрх баримт бичгийн үндэст нэмж болно.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Хэрэв та HTTPS руу дахин чиглүүлэх тодорхой URL-г зааж өгөхийг хүсвэл:

RewriteEngine On
RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
  • Хэрэв хэн нэгэн нэвтрэх гэж оролдвол мессеж , хуудас https руу шилжих бөгөөд хэрэглэгч зөвхөн SSL-ээр URL руу хандах боломжтой.

.htaccess файл хүчин төгөлдөр болохын тулд Apache-г дахин эхлүүлнэ үү:

service httpd restart

Урьдчилан сэргийлэх арга хэмжээ

  • Дээрх и-мэйл хаягийг өөрийн цахим шуудангийн хаягаар солино уу.
  • Дээрх вэб сайтын домэйн нэрийг өөрийн вэб сайтын домэйн нэр болгон өөрчлөхөө санаарай.

Дахин чиглүүлэх дүрмийн байршлын асуудал

Дахин чиглүүлэх дүрмийг псевдо-статик дүрмийн дор байрлуулах үед HTTP нь сайтыг бүхэлд нь HTTPS руу дахин чиглүүлж чадахгүй гэсэн асуудалтай тулгарах нь элбэг.

Эхлээд бид дахин чиглүүлэх кодыг .htaccess руу хуулсан бөгөөд энэ нь дараах тохиолдолд гарч ирнэ ▼

Дахин чиглүүлэх дүрэм [L] дээр байна.

  • [L] нь одоогийн дүрэм нь сүүлчийн дүрэм гэдгийг харуулж байгаа тул дараах дахин бичих дүрмүүдэд дүн шинжилгээ хийхээ зогсоо.
  • Тиймээс дахин чиглүүлсэн нийтлэлийн хуудсанд хандах үед [L] дараах дүрмийг зогсоодог тул дахин чиглүүлэх дүрэм ажиллахгүй.

HTTP нүүр хуудсанд хандах үед бид URL дахин чиглүүлэлтийг идэвхжүүлж, дахин чиглүүлэх дүрмийг гүйцэтгэхийн тулд URL дахин бичих дүрмийг алгасах хэрэгтэй бөгөөд ингэснээр сайтыг бүхэлд нь HTTP-ээс HTTPS руу дахин чиглүүлэх боломжтой болно.

HTTPS чиглүүлэх дүрмийг [L] дүрмээс доош бүү байрлуул ; тэдгээрийг [L] дүрмээс дээгүүр байрлуул. ▼

Псевдо-статик SSL дахин чиглүүлэлтийн дүрмүүд [L] доор байна.

Өргөтгөсөн унших:

Чен Вэйлиангийн блог ( https://www.chenweiliang.com/ ) дээр хуваалцсан "Let's Encrypt-д хэрхэн өргөдөл гаргах вэ? Let's Encrypt үнэгүй SSL гэрчилгээний зарчим ба суулгах заавар" нийтлэл танд тустай байх гэж найдаж байна.

Энэ нийтлэлийн холбоосыг хуваалцахаас бүү эргэлзээрэй: https://www.chenweiliang.com/cwl-512.html

Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!

Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!

 

发表 评论

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

TOP хүртэл гүйлгэж