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/ ). Linux пайдаланушылары сол жұмыс процесіне сілтеме жасап, осы нұсқаулықты орындай алады.

Алдымен 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 жылы аяқталады. Жаңа немесе өзгертілген сертификат алу үшін
болашақта осы сертификаттың нұсқасын certbot-auto іске қосыңыз
Сертификаттардың *барлығын* интерактивті емес жаңарту үшін іске қосыңыз
«certbot-автоматты жаңарту»
- Егер сізге 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 мекенжайына өтеді және пайдаланушы URL мекенжайына тек SSL арқылы қол жеткізе алады.

.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 каналымызға қосылыңыз!

Бөлісу және ұнаса лайк! Сіздің бөлісулеріңіз бен лайктарыңыз біздің тұрақты мотивациямыз болып табылады!

 

Пікірлер

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

Топ Scroll