Рассмотрим как реализовать доступ к FreePBX GUI через HTTPS. Все действия производились на FreePBX установленный на Debian 9 Stretch (как установить можно почитать тут) и Apache.
Любым удобным вам способом копируем сертификат, закрытый ключ, промежуточные + корневой сертификат в систему (как это сделать через SSH можно почитать тут). Так как сертификатом будет пользоваться веб-сервер Apache, то не забываем прописать на файлы сертификатов соответствующие права. Я выставляю такие права доступа на файлы сертификатов:
1 2 |
chown root:www-data {путь к файлу} chmod 640 {путь к файлу} |
Включаем модуль SSL в Apache:
1 |
a2enmod ssl |
Конфигурация виртуального хоста. Приводим дефолтный вирт. хост /etc/apache2/sites-available/000-default.conf к виду:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine On SSLCertificateFile /etc/ssl/crt.crt SSLCertificateKeyFile /etc/ssl/key.key SSLCACertificateFile /etc/ssl/crt-ca.crt </VirtualHost> |
Редирект на HTTPS. Добавляем в /var/www/html/.htaccess следующие строчки:
1 2 3 |
RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] |
Перезапускаем Apache и проверяем.
1 |
/etc/inin.d/apache restart |
Для тех у кого есть желание поблагодарить, могут воспользоваться формой ниже:
Оставить ответ