Налаштування ssl в apache

У даній статті описується настройка TLS в Apache з використанням self-signed сертифіката, що не годиться для public-ресурсів, але цілком підійде для організації роботи з вашим особистим / командним сервером.
При написанні замітки в якості тестової майданчика використовувався сервер під керуванням Debian 6.0 і Apache 2.2.16.
установка OpenSSL
Перш ніж приступати до налаштування SSL-сайту в Apache, необхідно створити ключ шифрування, а також self-signed сертифікат цього ключа. Дані дії виконуються утилітами, які не входять до складу Apache і повинні бути встановлені окремо, якщо їх немає у вашій системі. В Debian / Ubuntu все ставиться однією командою:
# Apt-get install openssl
В інших дистрибутивах назву пакета швидше за все буде таким же.
Генерація закритого ключа і сертифіката
У TLS використовуються асиметричні алгоритми шифрування, тобто для шифрування і розшифровки даних використовується не один ключ, а пара: відкритий і закритий. Відкритий ключ сервера передається клієнту разом з сертифікатом сервера на стадії генерації сеансового ключа.
Створіть каталог, в якому ви маєте намір зберігати закритий ключ і сертифікат сервера:
# Mkdir -p / etc / apache2 / ssl
Тепер можна згенерувати закритий ключ і self-signed сертифікат для нього:
# Openssl req -new -x509 -nodes -out server.crt -keyout server.key
де server.key - ім'я файлу закритого ключа, а server.crt - ім'я файлу сертифікату.
Перед генерацією утиліта запропонує відповісти вам на кілька запитань, щодо даних, якими будуть заповнені поля сертифіката. Оскільки він самоподпісанний, можна не морочитися, а залишити все як є:
Якщо все пройшло успішно і ви не отримали ніяких помилок в результаті перезапуску сервера, саме час перевірити результати роботи. Відкривши в браузері URL вашого сайту, ви повинні побачити попередження про ризик для вашої безпеки в зв'язку з тим, що сайт використовує self-signed сертифікат:

Додавши цей сайт в виключення, ви отримаєте повноцінне TLS-шифрування трафіку, сховавши таким чином від цікавих очей ваші діалоги з HTTP-сервером:

Якщо я не помиляюся, є невелике обмеження. На 1 IP можна буде повісити тільки один сайт. Чи я не правий?
Aleksdem, немає, віртуальних хостів можна створювати більш одного.
Для звичайного віртуального хоста це справедливо, але для секурного. Я одного разу з цим зіткнувся і знайшов, що шифрування йде перш, ніж заявляється ім'я. Хоча я, можливо, і щось не так робив. )
тоді мене врятувало те, що у потрібного сервера було 4 IP
Заради приколу зараз спробував зробити два секурних віртхоста. Все працює.