Налаштування https в apache, російськомовна документація по ubuntu

Веб-сервер Apache повністю підтримує роботу по HTTPS. Для того, щоб активувати підтримку HTTPS на вже встановленому Apache необхідно виконати наступне.

Використання самоподпісанного сертифікатів хоч і захищає від пасивного прослуховування, проте не гарантує клієнтам, що сервер є саме тим сервером, який їм потрібен. Переваги самоподпісанного сертифікатів є безкоштовне виконання цих робіт. Сертифікат, підписаних компанією-сертификатора (Certificate authority) коштує грошей.

Для створення ключа і сертифіката вводимо команду:

На питання «Enter PEM pass phrase:» відповідаємо паролем, підтверджуємо і запам'ятовуємо. На всі наступні питання відповідаємо довільно, можна просто клацати по Enter погоджуючись із запропонованими варіантами, тільки на питання «Common Name (eg, YOUR name) []:" відповідаємо ім'ям сайту, для якого створюємо сертифікат, наприклад www.example.com.

Після відповіді на всі питання в директорії повинні з'явитися два нових файлу - server.pem і server.crt (ключ і сертифікат, відповідно).

Щоб використовувати згенерований ключ потрібно знати пароль введений нами, і Apache буде питати його у нас при завантаженні, а до чого нам зайві питання від демонів. ) Тому знімаємо пароль з ключа:

Скопіюємо їх в / etc / ssl і призначимо файлу ключа права читання тільки адміністратору:

Для початку необхідно активувати mod_ssl.

А потім включити налаштування HTTPS сайту за замовчуванням:

Тепер необхідно відредагувати файл з настройками HTTPS сайту за замовчуванням, вказавши в ньому шляху до ваших сертифікатах. Сам файл називається / etc / apache2 / sites-enabled / default-ssl (або /etc/apache2/sites-enabled/default-ssl.conf).

У цьому файлі рекомендується після директиви

щоб заборонити використання застарілого протоколу SSLv2.

Далі вам необхідно відредагувати параметри, відповідальні за сертифікати.

Тепер просто перезавантажте Apache:

І якщо всі параметри вказані вірно, ваші сайти стануть доступні по HTTPS.

Протокол HTTPS працює по 443 порту, тому якщо сервер знаходиться за шлюзом, то необхідно на ньому прокинути даний порт.

Потім змінюємо файл / etc / apache2 / sites-enabled / 000-default. відповідальний за віртуальний хост за замовчуванням для HTTP запитів. У цей файл додаємо директиву

При цьому всі налаштування директорій можна видалити, оскільки по HTTP на ваші сайти все одно буде не потрапити.

Все, тепер ще раз запустіть Apache і переконайтеся, що під час заходу по HTTP ви автоматично перенаправляються на HTTPS сторінку.