ဆောင်းပါးလမ်းညွှန်
Let's Encrypt အတွက် ဘယ်လိုလျှောက်ထားရမလဲ။
SSL Certificate Principle & Installation Tutorial ကို စာဝှက်ကြပါစို့
SSL ဆိုတာဘာလဲ။Chen Weiliangယခင်ဆောင်းပါးတွင် "http နဲ့ https ကွာခြားချက်ကဘာလဲ။ SSL ကုဒ်ဝှက်ခြင်းလုပ်ငန်းစဉ်၏ အသေးစိတ်ရှင်းလင်းချက်” လို့ဖော်ပြထားပါတယ်။
မှခွဲပြီးE-commerceဝဘ်ဆိုက်သည် အဆင့်မြင့် ကုဒ်ဝှက်ထားသော SSL လက်မှတ်ကို ဝယ်ယူပြီး ဝဘ်ဆိုဒ်ကို WeChat အဖြစ် အသုံးပြုရပါမည်။အများသူငှာအကောင့်မြှင့်တင်ရေး၏မီဒီယာအသစ်လူများ၊ SSL လက်မှတ်ကို သင်ထည့်သွင်းလိုပါက၊ သင်သည် ကုဒ်ဝှက်ထားသော SSL လက်မှတ်ကို အမှန်တကယ် အခမဲ့ ထည့်သွင်းနိုင်သည်။SEO ဆိုသည်မှာ၎င်းသည် အထောက်အကူဖြစ်ပြီး ရှာဖွေရေးအင်ဂျင်များတွင် ဝဘ်ဆိုဒ်သော့ချက်စာလုံးများကို အဆင့်မြှင့်တင်နိုင်သည်။
Let's Encrypt ကိုယ်တိုင်က လုပ်ငန်းစဉ်အစုံကို ရေးထားတယ် (https://certbot.eff.org/) သုံးပါ။Linux ကိုသူငယ်ချင်းတို့၊ လုပ်ငန်းစဉ်ကို ရည်ညွှန်းရင်း ဒီသင်ခန်းစာကို လိုက်နာနိုင်ပါတယ်။
certbot-auto tool ကို ဦးစွာ ဒေါင်းလုဒ်လုပ်ပါ၊ ထို့နောက် ကိရိယာ၏ တပ်ဆင်မှု မှီခိုမှုကို လုပ်ဆောင်ပါ။
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
SSL လက်မှတ်ကို ထုတ်ပါ။
ထို့နောက်၊Chen Weiliangဘလော့ဂ်ဒိုမိန်းအမည်ကို နမူနာအဖြစ် ယူပါ၊ သင့်ကိုယ်ပိုင်လိုအပ်ချက်အရ ၎င်းကို ပြင်ဆင်ပါ။ SSH သည် အောက်ပါ command များကို လုပ်ဆောင်ပါသည်။
အမိန့်ကို ပြုပြင်မွမ်းမံရန် သေချာပါစေ-
- စာတိုက်ပုံး
- ဆာဗာလမ်းကြောင်း
- ဝဘ်ဆိုဒ် ဒိုမိန်းအမည်
ဒိုမိန်းတစ်ခုတည်း လမ်းညွှန်တစ်ခု၊ လက်မှတ်တစ်ခု ဖန်တီးပါ-
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
Multi-domain single directory၊ လက်မှတ်တစ်ခုထုတ်ပေးပါ- (ဆိုလိုသည်မှာ၊ domain name အများအပြား၊ single directory၊ တူညီသောလက်မှတ်ကိုသုံးပါ)
./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 ကို run ပါ။
တစ်ဖန်။ သင့်လက်မှတ်များ၏ *အားလုံး* ကို အပြန်အလှန်အကျိုးသက်ရောက်မှုမရှိစေရန်၊ လုပ်ဆောင်ပါ။
"certbot-အော်တိုသက်တမ်းတိုးခြင်း"
- အကယ်၍ သင် Certbot ကိုနှစ်သက်လျှင်၊ ကျွန်ုပ်တို့၏အလုပ်ကိုအောက်ပါတို့ဖြင့်ထောက်ပံ့ရန်စဉ်းစားပါ -
ISRG သို့ လှူဒါန်းခြင်း / Let's Encrypt: https://letsencrypt.org/donate
EFF သို့လှူဒါန်းခြင်း: https://eff.org/donate-le
SSL လက်မှတ် သက်တမ်းတိုးခြင်း။
Certificate သက်တမ်းတိုးခြင်းကိုလည်း အသုံးပြု၍ အလွန်အဆင်ပြေပါသည်။ကွမ်းခြံကုန်းအလိုအလျောက်သက်တမ်းတိုး။အချို့သော Debian တွင် crontab ထည့်သွင်းထားခြင်း မရှိပါ၊ သင်သည် ၎င်းကို ဦးစွာ ကိုယ်တိုင်ထည့်သွင်းနိုင်သည်။
apt-get install cron
အောက်ပါ command များသည် nginx နှင့် apache အသီးသီးရှိသည်။ / etc / crontab ဖိုင်တွင်ထည့်သွင်းထားသော command သည် 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 configuration ကို ပြုပြင်ပြောင်းလဲရန် လိုအပ်ပါသည်။
သိကောင်းစရာများ -
- သုံးရင်CWP Control PanelAdd domain name check တွင် SSL လက်မှတ်ကို အလိုအလျောက်ထုတ်ပေးသည်၊ ၎င်းသည် Apache အတွက် SSL လက်မှတ်ကို အလိုအလျောက် configure လုပ်မည်ဖြစ်သည်။
- အောက်ပါအဆင့်များကို သင်ပိုမိုလုပ်ဆောင်ပါက 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 သည် အောက်ပါ command ကို execute (သင့်ကိုယ်ပိုင်လမ်းကြောင်းသို့ ပြောင်းလဲရန် သတိပြုပါ)။
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 configuration ၏အဆုံးတွင်အောက်မှာ
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 module ကို အသုံးပြု၍ SSL URL သို့ ပြန်ညွှန်းပါ။
- အကယ်၍ သင်သည် LAMP ကို ကလစ်တစ်ချက်နှိပ်၍ တပ်ဆင်ခြင်း ပက်ကေ့ဂျ်ကို အသုံးပြုပါက၊ SSL လက်မှတ်၏ အလိုအလျောက် တပ်ဆင်ထားသော အလိုအလျောက် တပ်ဆင်ပြီး HTTPS သို့ အတင်းအကြပ် ပြန်ညွှန်းခြင်း၊ HTTPS သို့ ပြန်ညွှန်းခြင်းအလုံးအရင်းနှင့်HTTPS ပြန်ညွှန်ပြရန် သင်ထည့်ရန် မလိုအပ်ပါ။
ပြန်ညွှန်းစည်းမျဉ်းကို ထည့်ပါ။
- Apache ၏ဖွဲ့စည်းပုံဖိုင်တွင်၊ ဝဘ်ဆိုဒ်၏ virtual host ကို တည်းဖြတ်ပြီး အောက်ပါဆက်တင်များကို ထည့်ပါ။
- သင်၏ .htaccess ဖိုင်တွင် သင့်ဝဘ်ဆိုက်ရှိ စာရွက်စာတမ်း root တွင် အလားတူဆက်တင်များကို သင်ထည့်သွင်းနိုင်သည်။
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 သို့ ခုန်သွားမည်ဖြစ်ပြီး၊ အသုံးပြုသူသည် URL ကို SSL ဖြင့်သာ ဝင်ရောက်နိုင်သည်။
အကျိုးသက်ရောက်စေရန် .htaccess ဖိုင်အတွက် Apache ကို ပြန်လည်စတင်ပါ။
service httpd restart
ကြိုတင်ကာကွယ်မှုများ
- အထက်ပါအီးမေးလ်လိပ်စာကို သင့်အီးမေးလ်လိပ်စာသို့ ပြောင်းပါ။
- အထက်ဖော်ပြပါ ဝဘ်ဆိုက်ဒိုမိန်းအမည်ကို သင့်ဝဘ်ဆိုဒ်ဒိုမိန်းအမည်သို့ ပြောင်းလဲရန် မမေ့ပါနှင့်။
စည်းမျဉ်း တည်နေရာ ပြဿနာကို ပြန်ညွှန်းသည်။
pseudo-static စည်းမျဉ်းများအောက်တွင်၊ redirection jump rules များကို နေရာချသောအခါတွင် သင်သည် များသောအားဖြင့် ကြုံတွေ့ရသည်။ http သည် https သို့ ပြန်ညွှန်း၍ မရပါ။ ပြဿနာ။
အစပိုင်းတွင် ကျွန်ုပ်တို့သည် ပြန်လည်ညွှန်းကုဒ်ကို .htaccess တွင် ကူးယူထားပြီး ၎င်းသည် အောက်ပါကိစ္စများတွင် ပေါ်လာလိမ့်မည် ▼
- [L] သည် လက်ရှိစည်းမျဉ်းသည် နောက်ဆုံးစည်းမျဉ်းဖြစ်ကြောင်း ညွှန်ပြသည်၊ အောက်ပါစည်းမျဉ်းများကို ပြန်လည်ရေးသားခြင်းအား ပိုင်းခြားစိတ်ဖြာခြင်းမှ ရပ်တန့်ပါ။
- ထို့ကြောင့် ပြန်ညွှန်းထားသော ဆောင်းပါးစာမျက်နှာကို ဝင်ရောက်သည့်အခါ၊ [L] သည် အောက်ပါစည်းမျဉ်းကို ရပ်သွားသည်၊ ထို့ကြောင့် ပြန်ညွှန်းခြင်းစည်းမျဉ်းသည် အလုပ်မဖြစ်ပါ။
http ပင်မစာမျက်နှာကို လည်ပတ်သည့်အခါ၊ ကျွန်ုပ်တို့သည် URL ပြန်ညွှန်းခြင်းတစ်ခုကို အစပျိုးလိုသည်၊ သို့မှသာ ၎င်းကို အောင်မြင်နိုင်စေရန် ပြန်လည်လမ်းညွှန်မှုခုန်စည်းမျဉ်းကို လုပ်ဆောင်ရန် pseudo-static စည်းမျဉ်းကို ကျော်ပါ။ဆိုက်တစ်ခုလုံး http ကို https သို့ ပြန်ညွှန်းသည်။ ။
https redirect စည်းမျဉ်းများကို မထည့်ပါနှင့် [L] စည်းကမ်းချက်တွေအောက်မှာ တင်ပေးလိုက်ပါတယ် [L] ▼ စည်းမျဥ်းအထက်
တိုးချဲ့ဖတ်ခြင်း
- http နဲ့ https ကွာခြားချက်ကဘာလဲ။ SSL ကုဒ်ဝှက်ခြင်းလုပ်ငန်းစဉ်၏ အသေးစိတ်ရှင်းလင်းချက်
- CWP ထိန်းချုပ်မှုဘောင်တွင် Let's Encrypt SSL လက်မှတ်ကို ထည့်သွင်းပြီးနောက် အမှား 500 ရရှိပါက ကျွန်ုပ် ဘာလုပ်သင့်သနည်း။
- www ထိပ်တန်းအဆင့် ဒိုမိန်းအမည် မပါဘဲ ဒုတိယအဆင့် ဒိုမိန်းအမည်သို့ အလိုအလျောက် ခုန်ဆင်းပါ- အမြစ်ဒိုမိန်းအမည် 301 သည် www
မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) မျှဝေထားသည့် "Let's Encrypt ကို မည်ကဲ့သို့ လျှောက်ထားရမည်နည်း။ SSL Free Certificate Principle & Installation Tutorial" သည် သင့်အတွက် အထောက်အကူဖြစ်စေပါသည်။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-512.html
နောက်ဆုံးထွက်မွမ်းမံမှုများကို ရယူရန် Chen Weiliang ၏ တယ်လီဂရမ်ချန်နယ်မှ ကြိုဆိုပါသည်။
📚 ဤလမ်းညွှန်တွင် တန်ဖိုးကြီးကြီးမားမားပါရှိသည်၊ 🌟ဒါက ရှားပါးအခွင့်အရေးပါ၊ လက်လွတ်မခံပါနဲ့။ ⏰⌛💨
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။
သင်၏မျှဝေခြင်းနှင့် လိုက်ခ်များသည် ကျွန်ုပ်တို့၏ စဉ်ဆက်မပြတ်လှုံ့ဆော်မှုဖြစ်သည်။