Включаем HTTPS в Apache

Чтобы подключить SSL шифрование нам надо установить OpenSSL и mod-ssl (расширение для Apache)

[root@localhost ~]# yum install mod_ssl openssl

Генерируем собственный сертификат используя OpenSSL, для этого

  • Генерируем приватный ключ с 2048-битным шифрованием
  • Генерируем запроса на сертификат CSR
  • Генерируем самоподписанный ключ на 356 дней
[root@localhost ~]# openssl genrsa -out ca.key 2048
[root@localhost ~]# openssl req -new -key ca.key -out ca.csr
[root@localhost ~]# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

Перемещаем полученные файлы в правильное место

[root@localhost ~]# mv ca.crt /etc/pki/tls/certs
[root@localhost ~]# mv ca.key /etc/pki/tls/private/ca.key
[root@localhost ~]# mv ca.csr /etc/pki/tls/private/ca.csr

Обновим конфигурационный файл Apache SSL

[root@localhost ~]# vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

После чего надо перезапустить Apache

[root@localhost ~]# service httpd restart

Настройка виртуальных хостов

Все аналогично тому, как вы создавали VirtualHosts для HTTP на 80 порту — все тоже для HTTPS на порту 443. Типичный виртуальный хост для 80 порта выглядит так

<VirtualHost *:80>
        <Directory /var/www/vhosts/yoursite.com/httpdocs>
        AllowOverride All
        </Directory>
        DocumentRoot /var/www/vhosts/yoursite.com/httpdocs
        ServerName yoursite.com
</VirtualHost>

Чтобы включить ssl, необходимо добавить следующее в верхней части вашего файла

NameVirtualHost *:443
<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/ca.crt
        SSLCertificateKeyFile /etc/pki/tls/private/ca.key
        <Directory /var/www/vhosts/yoursite.com/httpsdocs>
        AllowOverride All
        </Directory>
        DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs
        ServerName yoursite.com
</VirtualHost>

И перезапустить Apache

[root@localhost ~]# service httpd restart

Настройка брандмауэра

Нам надо открыть порт 443, чтоб можно было подключаться к сайту по https

[root@localhost ~]# iptables -A INPUT -p tcp --dport 443 -j ACCEPT
[root@localhost ~]# /sbin/service iptables save
[root@localhost ~]# iptables -L -v

Максим Макаров
У блога появился хостинг, его любезно предоставила компания Облакотека.
Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс. Для этого достаточно кликнуть на контекстную рекламу, расположенную на сайте.
Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.