Установка ssl сертификата на локальный сайт

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (46)

просмотр истории страницы
h3. Инструкция по установке сертификата

1. Внесите изменения в файл:
# Настройте порты и включите SSL в конфигурационном файле /app/asr_cabinet/cfg/config
По-умолчанию порт 443 занят Codeigniter (старый ЛК), а ssl для Wordpress находится на порту 8443. Необходимо поменять порты местами, включить SSL для Wordpress, после чего перезапустить контейнер чтобы корректно сформировались правила *iptables*
#* Измените порт ssl в переменной *app\['wordpress.sslport'\]* на 443 и включите ssl для Wordpress в переменной *app\['wordpress.use_ssl'\]* \\ \\
{code}app['wordpress.sslport']='443'
app['wordpress.use_ssl']='1'{code}
#* Поменяйте порт Codeigniter на 8443 \\ \\
{code}app['apache.sslport']='8443'
app['apache.sslip']='169.254.4.43'
{code}
#* Перезапустите *asr_cabinet*: \\ \\
{code}/app/asr_cabinet/service restart{code}
# Внесите изменения в конфигурационный файл Apache:
*/app/asr_cabinet/etc/httpd/conf/httpd.conf*
#* В настройках *<VirtualHost \*:80>* змените *RewriteCond %\{REQUEST_URI\} ^/cabinet.* на *RewriteCond %\{HTTPS\} off* чтобы HTTPS был включен глобально на сайт, а не только личный кабинет. Должно получиться приблизительно следующее: \\ \\
{code:lang=xml}<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
DocumentRoot /var/wordpress/
AddDefaultCharset utf-8
</Directory>
#Redirect to https!
RewriteEngine Off On
#Check for POST Submission
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteCond %{SERVER_PORT} 80
# Pages to Apply....
RewriteCond %{REQUEST_URI} ^/cabinet.* %{HTTPS} off
RewriteRule .* https://%{SERVER_NAME}:443%{REQUEST_URI} [R=301,L]
Redirect permanent / https://test.ru/
</VirtualHost>{code}


#* В настройках *<VirtualHost \*:443>* укажите правильные пути к сертификатам. Должно получиться приблизительно следующее: \\ \\
{code}<VirtualHost *:443>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.<-
DocumentRoot /var/wordpress/
AddDefaultCharset utf-8
SSLCACertificateFile /etc/pki/tls/certs/ca_bundle.crt
#SSLVerifyClient require
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
</VirtualHost>{code}


{code}


*Redirect permanent* \- значение задающее обязательную переадресацию на https версию сайта


*SSLCACertificateFile* \- путь к промежуточному сертификату


*SSLCertificateFile* \- путь к сертификату сайтуа


*SSLCertificateKeyFile* \- путь к файлу ключа сертификата \\ \\

{info}Рекомендуем изменить порт ssl в переменной app\['wordpress.sslport'\]='<номер порта>' на 443 в конфигурационном файле /app/asr_cabinet/cfg/config {info}
# Скопируйте измененный файл конфигурации:
{code}
app['wordpress.sslport']='443'
app['wordpress.use_ssl']='1'
app['wordpress.use_ssl.widget']='checkbox "Включить HTTPS в ЛК" "Включить HTTPS в ЛК"'

app['fiscal.ip']='169.254.14.44'
app['fiscal.port']='1444'

app['apache.port.widget']='readonly "Порт, на котором доступен локальный сайт" "Только для чтения"'

app['apache.sslip']='169.254.4.43'
app['apache.sslport']='8443'
app['apache.sslport.widget']='readonly "Порт, на котором доступен веб-интерфейс абонента" "Только для чтения"'
{code}

2. Скопируйте измененный файл конфигурации:

{code}
mkdir -p /app/asr_cabinet/cfg/etc/httpd/conf/
cp -p /app/asr_cabinet/etc/httpd/conf/httpd.conf /app/asr_cabinet/cfg/etc/httpd/conf/httpd.conf
{code}

{warning}После этого изменения в настройках личного кабинета по адресу <ip биллинга>:8081/settings/asr_cabinet/ не будут менять настройки веб-сервера{warning}

3. # Скопируйте сертификаты в директорию сертификатов:
{code}
mkdir -p/app/asr_cabinet/cfg/etc/pki/tls/certs
cp -p /tmp/ca_bundle.crt /app/asr_cabinet/etc/pki/tls/certs/ca_bundle.crt
{code}

4. # Скопируйте ключ для сертификата

{code}
# mkdir app/asr_cabinet/etc/pki/tls/private
# cp -p /tmp/ca.key app/asr_cabinet/etc/pki/tls/private/ca.key
{code}

h4. # Проверка корректности установки сертификата

Для проверки корректности установки сертификата необходимо перезапустить http сервер командой
{code}chroot /app/asr_cabinet/
/etc/init.d/httpd restart
{code}

Если сертификат установлен корректно, то у Вас отобразится следующее:


{panel}Останавливается httpd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \[&nbsp; OK&nbsp; \]
Запускается httpd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; \[&nbsp; OK&nbsp; \]{panel}

В том случае, если при запуске *httpd* отображается сбой, то необходимо проверить лог ошибок, который находится в */app/asr_cabinet/var/log/httpd/error_log.*

После того, как сервис *httpd* корректно запустится, необходимо выполнить команду

*/app/asr_cabinet/service restart*

{code}/app/asr_cabinet/service restart{code}
Если в результате перезапуска все сервисы стартовали со статусом \[&nbsp; OK&nbsp; \], необходимо проверить корректность установки сертификата и переадресации на https при переходе в личный кабинет, например через браузер Firefox.

Используя браузер можно увидеть ошибки сертификата:

* *неверный сайт* \- вероятно, вы обращаетесь на сайт по ip, а сертификат выдан для домена. В комментарии вы увидите всю нужную информацию; \\ \\

* *недоверенный сертификат* \- вероятно, вы не выгрузили серверный сертификат, либо выгрузили вместо него другой сертификат; \\ \\

* *просроченный сертификат* \- вышел срок действия сертификата, нужно покупать новый.