កញ្ចប់សេវាបង្ហោះដែលបានចែករំលែកមួយចំនួនជាមួយ cPanel មិនផ្តល់ជូន AutoSSL ទេ ឬមានតែក្នុងផែនការតម្លៃខ្ពស់ជាងនេះប៉ុណ្ណោះ។ ជាលទ្ធផល អ្នកមិនអាចចេញវិញ្ញាបនបត្រ Let's Encrypt ដោយឥតគិតថ្លៃតាមរយៈចំណុចប្រទាក់ cPanel បានទេ ហើយដែនទាំងអស់ត្រូវបានជាប់គាំងជាមួយនឹងវិញ្ញាបនបត្រដែលចុះហត្ថលេខាដោយខ្លួនឯង។ កម្មវិធីរុករកបង្ហាញទំព័រថា "មិនមានសុវត្ថិភាព"។ ដំណោះស្រាយ៖ ទទួលបានវិញ្ញាបនបត្រដោយខ្លួនឯងដោយប្រើ acme.sh ហើយដំឡើងវាតាមរយៈ cPanel UAPI - បន្តដោយស្វ័យប្រវត្តិ ទាំងស្រុងដោយមិនចាំបាច់ប្រើ AutoSSL។
HTTPS ជាយូរមកហើយ គឺជាកាតព្វកិច្ច។ ដូច្នេះ វាកាន់តែធ្វើឲ្យខកចិត្ត នៅពេលដែលកញ្ចប់បង្ហោះផ្ទាល់ខ្លួនរបស់អ្នកមិនផ្តល់នូវវិធីងាយស្រួលក្នុងការទទួលបានវិញ្ញាបនបត្រឥតគិតថ្លៃ។ រឿងនេះកើតឡើងញឹកញាប់ជាងអ្វីដែលអ្នកគិត ឧទាហរណ៍ជាមួយនឹងកញ្ចប់កម្រិតចូលដែលមានតម្លៃថោក ឬបន្ទាប់ពីការផ្លាស់ប្តូរផែនការ ដែលវិញ្ញាបនបត្រត្រូវបានបញ្ឈប់ភ្លាមៗ។ ទោះជាយ៉ាងណាក៏ដោយ គម្លាតនេះអាចត្រូវបានបិទយ៉ាងស្រស់ស្អាត និងជាអចិន្ត្រៃយ៍ជាមួយនឹងកូដតែប៉ុន្មានបន្ទាត់នៅក្នុងសែល - ដំណើរការពេញលេញត្រូវបានពិពណ៌នាខាងក្រោម។
១. ចូលតាមរយៈ SSH
ssh -p <port> <user>@example.com
២. ដំឡើង acme.sh
curl https://get.acme.sh | sh -s email=me@example.com
source ~/.bashrc
៣. កំណត់ Let's Encrypt ជា CA
acme.sh --set-default-ca --server letsencrypt
៤. ចេញវិញ្ញាបនបត្រ
acme.sh --issue -d example.com -d www.example.com -w ~/public_html
៥. ដំឡើងទៅក្នុង cPanel
acme.sh --deploy -d example.com --deploy-hook cpanel_uapi
៦. ពិនិត្យ
uapi SSL installed_hosts
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -issuer -dates
ទំពក់សរសេរវិញ្ញាបនបត្រទៅកាន់ម៉ាស៊ីននិម្មិតសមស្របតាមរយៈ UAPI។ ការកំណត់ការដាក់ពង្រាយត្រូវបានរក្សាទុក - ចាប់ពីពេលនេះតទៅ cron នឹងបន្ត និងដំឡើងអ្វីៗគ្រប់យ៉ាងដោយស្វ័យប្រវត្តិមុនពេលផុតកំណត់។ អ្នកចេញគឺ "Let's Encrypt" ហើយកាលបរិច្ឆេទផុតកំណត់គឺប្រហែល 90 ថ្ងៃនាពេលអនាគត។ ប្រសិនបើវិញ្ញាបនបត្រចាស់ ដែលបានចុះហត្ថលេខាដោយខ្លួនឯងនៅតែលេចឡើង ការផ្ទុកឡើងវិញយ៉ាងលំបាកនៅក្នុងកម្មវិធីរុករកតាមអ៊ីនធឺណិតជាធម្មតាជួយបាន - វិញ្ញាបនបត្រមុនអាចត្រូវបានរក្សាទុកជាបណ្តោះអាសន្ន។
ម៉ាស៊ីនមេខ្លះដំណើរការទំពក់ cPanel ផ្ទាល់ខ្លួនរបស់ពួកគេ។ install_ssl ហើយឆ្លើយតបជាមួយអ្វីមួយដូចជា adminbin Cpanel/hooks2/...: exit 255. acme.sh នៅតែរាយការណ៍ថា "បានដាក់ពង្រាយដោយជោគជ័យ" - ហើយនោះជាការត្រឹមត្រូវ។ ក្នុងករណីនេះ hook បរាជ័យដោយសារតែជំហានជាបន្តបន្ទាប់ (ដូចជាការជូនដំណឹងផ្ទៃក្នុង ឬការងារធ្វើសមកាលកម្មដោយអ្នកផ្តល់សេវាបង្ហោះ) មិនមែនដោយសារតែការដំឡើងពិតប្រាកដនោះទេ។
សម្រាប់ដែនដែលមាន umlauts acme.sh រក្សាទុកវិញ្ញាបនបត្រជាលក្ខណៈផ្ទៃក្នុងក្នុងទម្រង់ Punycode (xn--…) ខណៈពេលដែលឧបករណ៍ផ្គូផ្គងដោយស្វ័យប្រវត្តិរបស់ hook ប្រៀបធៀបទម្រង់យូនីកូដ។ លទ្ធផល៖ "បានដាក់ពង្រាយទៅកាន់ 0 នៃ 0 គេហទំព័រ" - គ្មានអ្វីត្រូវបានដំឡើងទេ។ រឿងដ៏អាក្រក់គឺថា acme.sh ក៏រាយការណ៍ថា "ជោគជ័យ" នៅទីនេះដែរ ដូច្នេះកំហុសត្រូវបានមើលរំលងយ៉ាងងាយស្រួល។ ដំណោះស្រាយ៖ ធ្វើការដោយផ្ទាល់ជាមួយដែន Punycode ហើយបិទការផ្គូផ្គងដោយស្វ័យប្រវត្តិ។:
python3 -c "import sys;print(sys.argv[1].encode('idna').decode())" hallöle.de
acme.sh --issue -d xn--hallle-zxa.de -d www.xn--hallle-zxa.de -w ~/public_html
export DEPLOY_CPANEL_AUTO_ENABLED='false'
acme.sh --deploy -d xn--hallle-zxa.de --deploy-hook cpanel_uapi
ជាមួយនឹងការចូលប្រើ SSH អ្នកមិនត្រូវការ AutoSSL ទេ៖ acme.sh ចេញវិញ្ញាបនបត្រ ដែល cpanel_uapi-Hook ដំឡើងវា ហើយការងារ cron ដែលរួមបញ្ចូលរក្សាវាឱ្យធ្វើបច្ចុប្បន្នភាពដោយស្វ័យប្រវត្តិ។ នៅពេលដែលដំឡើងរួច សេវាកម្ម HTTPS ឥតគិតថ្លៃនឹងដំណើរការជាបន្តបន្ទាប់ដោយខ្លួនឯង។ អ្នកដែលវិនិយោគកិច្ចខិតខំប្រឹងប្រែងដំបូងនឹងជួយសង្គ្រោះខ្លួនឯងពីការបន្តឡើងវិញដោយដៃនៅពេលអនាគត - ហើយអាចពង្រីកដំណោះស្រាយដូចគ្នាទៅកាន់ដែនបន្ថែមណាមួយនៅក្នុងគណនីដូចគ្នាជាមួយនឹងពាក្យបញ្ជាតែមួយ។