Настройка https на apache

 

Для того что бы настроить HTTPS на APACHE необходимо создать самоподписанный сертификат для сервера. Делается это просто: выполняем команду:

если у вас стоит уже openssl, если же не стоит то ставим его

Первым вопросом при создании сертификата будет «Enter PEM pass phrase» это пароль от сертификата. Запомните его, он нам пригодиться дальше.

И так далее в процессе создания сертификата у вас будут просить вводить следующие данные:

  • C — country, двухбуквенный код страны, например, RU или US
  • ST — state,  регион, область, район и т.д.
  • L — locality,  город
  • O — organization, название организации
  • OU — organization unit, отдел в организации
  • CN — common name,  адрес веб-сайта

После того как он создан, появятся 2 файла server.key и server.pem. Помните мы вводили пароль для сертификата, так вот после его установке при каждом запуске apache мы должны будем вводить данный пароль. Неудобно правда ли? Давайте снимем с себя лишние проблемы. Выполняем поочередно:

Вот и все. Теперь пароль у нас спрашивать не будет.

Скопируем их в /etc/ssl и сделаем доступными только админу

Теперь перейдем непосредственно к настройке Apache и Virtual Hosts.

Настойка Apache

включаем mod_ssl

Далее создадим виртуальный хост для ssl соединения. Для простоты решения скопируем все данные из обычного Virtual Hosts и поменяем/добавим некоторые данные.

Переходим ‘/etc/apache2/sites-available/’ . Там выбираем нужный нам виртуальный хост для примера example.conf (у меня просто несколько сайтов на одном сервере). Копируем все данные внутри хоста и создаем новый. Допустим example-ssl.conf и вставляем содержимое. Теперь же надо поменять следующие данные

вместо

ставим

Теперь добавляем где нибудь внутри следующие строчки

На этом с редактированием все. Добавляем новый виртуальный хост

Теперь перезагружаем apache

Если вам надо сделать перенаправление HTTP на HTTPS то читаем далее

Перенаправление HTTP запросов на HTTPS

Включаем mod_alias и перезагружаем apache

Теперь переходим все по тому же адресу ‘/etc/apache2/sites-available/’ и открываем example.conf и добавляем строчку

Вот и все перенаправление должно заработать