Нийтлэлийн лавлах
Let's Encrypt-д хэрхэн өргөдөл гаргах вэ?
SSL сертификатын зарчим, суулгах зааварчилгааг шифрлэцгээе
SSL гэж юу вэ?Чен ВэйлянӨмнөх нийтлэлд "Http ба https хооронд ямар ялгаа байдаг вэ? SSL шифрлэлтийн үйл явцын дэлгэрэнгүй тайлбар"Энэ тухай дурдсан.
гаднаЦахим худалдааВэбсайт нь дэвшилтэт шифрлэгдсэн SSL сертификат худалдан авч, вэбсайтыг WeChat болгон ашиглах ёстойНийтийн дансны сурталчилгааньшинэ медиаХүмүүс ээ, хэрэв та SSL сертификат суулгахыг хүсвэл шифрлэгдсэн SSL сертификатыг үнэгүй суулгаж болно.SEOАшигтай, хайлтын систем дэх вэбсайтын түлхүүр үгсийн зэрэглэлийг сайжруулж чадна.
Let's Encrypt өөрөө процессуудын багцыг бичсэн (https://certbot.eff.org/), ашиглахLinuxНайзууд аа, та энэ зааварчилгааг дагаж үйл явцтай танилцаж болно.
Эхлээд certbot-auto хэрэгслийг татаж аваад дараа нь уг хэрэгслийн суулгалтын хамаарлыг ажиллуулна уу.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
SSL сертификат үүсгэх
Дараа нь, хамтЧен ВэйлянБлогын домайн нэрийг жишээ болгон өөрийн хэрэгцээнд тохируулан өөрчилнө үү.SSH дараах тушаалуудыг ажиллуулдаг.
Дараах командыг өөрчлөхөө мартуузай:
- Шуудангийн хайрцаг
- серверийн зам
- вэбсайтын домэйн нэр
Нэг домэйн нэг лавлах, гэрчилгээ үүсгэх:
./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-д хандивлах / Шифрлэцгээе: https://letsencrypt.org/donate
EFF-д хандив өгөх: https://eff.org/donate-le
SSL гэрчилгээг шинэчлэх
Сертификат сунгах нь бас маш тохиромжтой, ашиглахCrontabАвтоматаар шинэчлэх.Зарим Debian-д crontab суулгаагүй тул эхлээд гараар суулгаж болно.
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 тохиргооны төгсгөлддараахь.
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] дараах дүрмийг зогсоодог тул дахин чиглүүлэх дүрэм ажиллахгүй.
http-ийн нүүр хуудсанд зочлохдоо бид URL дахин чиглүүлэхийг идэвхжүүлэхийг хүсч байна, псевдостатик дүрмийг алгасаж дахин чиглүүлэлтийн үсрэлтийн дүрмийг хэрэгжүүлэхийн тулд үүнийг хэрэгжүүлэх боломжтой болно.Сайт даяарх http-г https руу дахин чиглүүлэх .
https дахин чиглүүлэх дүрмийг бүү оруул [L] Дүрмийн доор тавь [L] дүрмээс дээгүүр ▼
Өргөтгөсөн унших:
- Http ба https хооронд ямар ялгаа байдаг вэ? SSL шифрлэлтийн үйл явцын дэлгэрэнгүй тайлбар
- CWP хяналтын самбарт Let's Encrypt SSL сертификатыг суулгасны дараа 500 алдаа гарвал би яах ёстой вэ?
- www дээд түвшний домэйн нэргүйгээр хоёр дахь түвшний домэйн нэр рүү автоматаар шилжих: үндсэн домэйн нэр 301 нь www-г дахин чиглүүлдэг.
Hope Chen Weiliang блог ( https://www.chenweiliang.com/ ) "Let's Encrypt-д хэрхэн өргөдөл гаргах вэ? SSL үнэгүй гэрчилгээний зарчим & суулгах зааварчилгааг шифрлэцгээе" хуваалцсан нь танд тустай.
Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-512.html
Чен Вэйляны блогын Telegram сувагт тавтай морил, хамгийн сүүлийн үеийн мэдээг аваарай!
📚 Энэхүү гарын авлага нь асар их үнэ цэнийг агуулсан, 🌟Энэ бол ховор боломж, бүү алдаарай! ⏰⌛💨
Хэрэв танд таалагдвал лайк дарж, хуваалцаарай!
Таны хуваалцах, дуртай зүйл бол бидний байнгын урам зориг юм!