Apache HTTP досі залишається лідером ринку веб-серверів, якими користується Топ мільйонів найзайнятіших сайтів.
Ви можете бачити, що Nginx збирається поступово, тому якщо ви перебуваєте в адміністрації системи / веб / середнього програмного забезпечення; тоді ти познайомився з обома Апачем & Веб-сервери Nginx.
Однак у цій статті я висвітлю лише веб-сервер Apache.
Після реалізації SSL налаштований домен / IP буде доступний через HTTPS. Давайте почнемо.
На високому рівні ми зробимо наступне.
- Скомпілюйте Apache HTTP 2.4.5 з модулем SSL
- Отримайте сертифікат SSL
- Настройте Apache для підтримки SSL
Contents
Встановіть Apache за допомогою SSL з Source
Щоб налаштувати SSL, Apache HTTP повинен бути компільований з mod_ssl. Я буду використовувати CentOS 7 VM від Цифровий океан щоб продемонструвати це.
- Увійдіть на сервер Linux із root та завантажте останню версію Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .
- Витяг за допомогою команди gunzip
gunzip -c httpd-2.4.25.tar.gz | tar xvf –
- У вас буде нова папка “httpd-2.4.25“
- Зайдіть всередину та виконайте таку команду настройки
./ configure –enable-ssl –-enable-so
Примітка: Якщо ви робите це на абсолютно новому сервері, то у вас можуть виникнути проблеми, пов’язані з APR, PCRE, OpenSSL, і ви можете звернутися до посібника з усунення несправностей..
Переконайтеся, що ви не отримаєте помилок із вищезгаданої команди конфігурації, а потім вам доведеться встановити команди make.
зробити
зробити встановлення
Як завжди, не переконайтесь у помилках вищезазначених команд. Це робить висновок, що у вас є встановлено Веб-сервер Apache з підтримкою SSL.
Отримання сертифіката SSL
Існує кілька способів генерування та отримання сертифікату SSL, підписаного органом сертифікації.
Якщо ви хочете впровадити SSL на веб-сервері Intranet, то в більшості організацій є внутрішня команда видавців сертифікатів, тож вам потрібно перевірити їх.
Але вам все одно потрібно генерувати CSR (запит на підпис сертифіката), і ви можете це зробити за допомогою OpenSSL.
Однак якщо ви хочете забезпечити себе Інтернет-адреса тоді ви можете купити сертифікат від VeriSign, GoDaddy, Ім’ячек, тощо або отримати БЕЗКОШТОВНИЙ сертифікат від шифруваня Let’s.
Давайте Encrypt – це проект співпраці Фонду Linux, який пропонується БЕЗКОШТОВНИЙ сертифікат SSL / TLS. Я використовую Let’s Encrypt, щоб отримати один сертифікат для мого домену – Chandan.io
Існує кілька способів генерування CSR, але найпростіший я знайшов, що використовує “SSL БЕЗКОШТОВНО“Інтернет-інструмент.
Введіть URL-адресу, яку потрібно захистити
Перевірте право власності на домен одним із перелічених способів та завантажте файли сертифікатів домену.
Ви отримаєте три файли, які ми будемо використовувати далі для налаштування веб-сервера Apache.
- ключ – це ваш ключовий файл, і його не слід ділитися ні з ким публічно
- Сертифікат – фактичний сертифікат SSL для вашого домену
- Ca_bundle – корінь / проміжний сертифікат підписанта
Перенесіть завантажений файл на веб-сервер. Незабаром вони нам знадобляться.
Конфігурація SSL Apache
І останнім кроком буде налаштування Apache, щоб він міг обслуговувати запит через HTTPS.
- Вхід на веб-сервер Apache
- Створіть резервну копію файлу httpd.conf (місце за замовчуванням / usr / local / apache2 / conf /)
- Відкрийте файл за допомогою редактора vi та переконайтеся, що модуль mod_ssl & httpd-ssl.conf існує та не коментується
Модулі LoadModule ssl_module / mod_ssl.so
Включіть conf / extra / httpd-ssl.conf
Ми будемо використовувати httpd-ssl.conf файл для налаштування даних про сертифікат. Нижче вам потрібно переконатися в наявності правильних параметрів.
- SSLCertificateFile – шлях до файлу сертифіката CRT, який ви завантажили раніше
- SSLCertificateKeyFile – шлях до файлу private.a.
- SSLCertificateChainFile – шлях до файлу ca_bundle.crt
Порада: ви можете створити нову папку під назвою “ssl” і зберегти в цьому всі файли, пов’язані з сертифікатом.
- Візьміть резервну копію, якщо потрібно, та скористайтеся редактором vi для зміни файлу.
SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt"
SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"
Далі вам потрібно налаштувати “Ім’я сервера“Директива. Зазвичай це ваше домен / URL-адреса
Ім’я сервера chandan.io
- Збережіть файл та перезапустіть веб-сервер Apache
cd / usr / local / apache2 / bin
./ apachectl зупинка
./ apachectl start
І нарешті, ви повинні переконатися, що ваш домен відображається на ново-налаштованому веб-сервері IP. Після завершення спробуйте отримати доступ до свого домену за допомогою https.
І як ви бачите, Chandan.io є доступний через https з налаштованим мені сертифікатом.
Наведені вище кроки є важливими для налаштування сертифіката SSL, і вам слід додатково підготувати SSL, щоб затвердіти та захистити, що я пояснив тут.
Перед початком роботи ви також можете протестувати свій веб-сервер SSL / TLS, щоб переконатися, що він не піддається загальним уразливості безпеки..
Сподіваюся, це дає вам уявлення про те, як реалізувати сертифікат SSL на веб-сервері Apache, щоб URL-адреса була доступна через HTTPS.
Якщо ви новачок у веб-сервері Apache, я б рекомендував взяти це онлайн-курс.