У нас существует два образа с панелью управления NetAngels
На серверах, созданных после 1 января 2018, используется apache2 и nginx.
На серверах, созданных до 1 января 2018, используется apache2.
Чтобы определить какой у вас сервер, подключитесь по SSH и выполните команду
netstat -ntlp | grep 80 | grep -v '127.0.0.1' | cut -d / -f 2 | cut -d ':' -f1
Если результат будет такой:
nginx
То вам пригодится инструкция ниже:
В ноябре 2018 появилась возможность легко установить бесплатный SSL сертификат от Let's Encrypt.
Ради установки сертификата заходить на сервер через консоль больше не нужно, достаточно нескольких кликов в панели управления.
Подключить сертификат можно в разделе Обл. VDS -> выберите виртуальную машину -> закладка "Панель - Сайты".
Если вы хотите установить какой либо другой сертификат, то воспользуйтесь инструкцией ниже:
Если вы заказывали сертификат в нашей компании, то после выпуска сертификата на вашу почту был отправлен архив с тремя файлами:
Нам потребуются только два последних - вашдомен.key
и вашдомен.full.crt
.
1. Подключитесь к серверу по протоколу SSH как пользователь root.
2. Перейдите в каталог /etc/nginx и создайте папку ssl
cd /etc/nginx && mkdir ssl
3. Теперь необходимо создать два файла с расширениями crt/key и вставить в них соответствующее содержание:
cat > ssl/example.full.crt
Скопируйте весь текст из файла вашдомен.full.crt
и вставьте его в окно терминала.
Если вы подключились к серверу при помощи утилиты Putty в среде Windows, то для того чтобы вставить текст в терминал воспользуйтесь правой кнопкой мыши.
Пример:
-----BEGIN CERTIFICATE-----
MIIE6DCCA9CgAwIBAgIQT4OhSAOkm743zmbl6akrGzANBgkqhkiG9w0BAQsFADB4
......
U7+DtOIGYhqs+5Il
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF5TCCA82gAwIBAgIQal3D5TtOT9B7aR6l/OxkazANBgkqhkiG9w0BAQsFADB9
......
Szc2kuPNbrV8PvbTLIXupfZFFj0d9mpaFg==
-----END CERTIFICATE-----
Для выхода с сохранением нажмите Ctrl+D.
cat > ssl/example.key
Скопируйте содержимое приватного ключа (файл вашдомен.key
). Пример:
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAuNsBoc54pN4xTP2DSJnIiWPWHpAidYSpFLmRZzf4VVXxffx5
......
Dare7Nz2Up5Yl8HDOQgFk5QBUEPa7g+Dokyc6+YiG/GRjUHkMyjwsQ==
-----END RSA PRIVATE KEY-----
Для выхода с сохранением нажмите Ctrl+D
4. Перейдите в каталог с конфигурационными файлами сайтов и проверьте его содержимое
cd sites-available && ls
Вы увидите список вида:
default shared.conf vm-c544a49b.netangels.ru.conf example.com
5. Для того, чтобы настроить работу сайта (например, example.com) через защищенное соединение, необходимо скопировать существующий конфигурационный файл, изменив название (например, добавить ssl):
cp example.com ssl-example.com
6. Отредактируйте файл ssl-example.com
mcedit ssl-example.com
Потребуется изменить:
7. Удалите строку
include listen.conf;
и на ее место добавьте
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/example.full.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1;
После этого конфигурационный файл примет примерно такой вид:
server {
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/example.full.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1;
server_name example.com www.example.com;
access_log off;
proxy_read_timeout 200s;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
location ~ \.(jpg|jpeg|gif|png|svg|js|css|mp3|bmp|swf|ogg|mpe?g|avi|zip|gz|bz2?|rar|ico|html|htm|txt|woff)$ {
root /home/web/example.com/www/;
}
location / {
proxy_pass http://backend;
include proxy_params;
}
}
Теперь осталось изменить параметры ssl_certificate
ssl_certificate_key
- укажите пути к файлам, которые содержат полную цепочку сертификатов и ключ соответственно.
Сохраните изменения нажав F2, затем Enter.
8. Включите новую конфигурацию сайта:
ln -s /etc/nginx/sites-available/ssl-example.com.conf /etc/nginx/sites-enabled/ssl-example.com.conf
9. Проверьте конфигурацию:
service nginx configtest
10. Если тестирование прошло успешно, то перезапустите веб-сервер для применения изменений:
service nginx restart
11. Проверьте, что все в порядке после перезапуска:
service nginx status
В ответе должно быть сообщение примерно следующего содержания:
run: nginx: (pid 10093) 3s
12. Вот и все. Теперь осталось только проверить доступность сайта по адресу https://example.com
Если же команда вернула
apache2
То вам пригодится инструкция ниже:
На VDS, созданных до 1 января 2018, web-сервер Nginx не устанавливался, поэтому подключить SSL-сертификат в панели управления не получится.
Для подключения SSL-сертификата вы можете воспользоваться инструкцией ниже или обратиться в техническую поддержку за помощью в установке Nginx.
Если вы заказывали сертификат в нашей компании, то после выпуска сертификата на вашу почту был отправлен архив с тремя файлами:
Эти файлы потребуются нам для установки сертификата на сервер.
1. Подключитесь к серверу по протоколу SSH как пользователь root;
2. Перейдите в каталог /etc/apache2 и создайте папку ssl
cd /etc/apache2 && mkdir ssl
3. Теперь необходимо последовательно создать три файла с расширениями crt/key и вставить в них соответствующее содержание:
cat > ssl/example.crt
Вставьте в этот файл содержимое сертификата (пример):
-----BEGIN CERTIFICATE-----
MIIE6DCCA9CgAwIBAgIQT4OhSAOkm743zmbl6akrGzANBgkqhkiG9w0BAQsFADB4
......
U7+DtOIGYhqs+5Il
-----END CERTIFICATE-----
Для выхода с сохранением нажмите Ctrl+D
cat > ssl/example.key
Скопируйте содержимое приватного ключа (пример):
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAuNsBoc54pN4xTP2DSJnIiWPWHpAidYSpFLmRZzf4VVXxffx5
......
Dare7Nz2Up5Yl8HDOQgFk5QBUEPa7g+Dokyc6+YiG/GRjUHkMyjwsQ==
-----END RSA PRIVATE KEY-----
Для выхода с сохранением нажмите Ctrl+D
cat > ssl/example.full.crt
Скопируйте содержимое полной цепочки сертификатов (файл <название_домена>.full.crt
):
-----BEGIN CERTIFICATE-----
MIIE6DCCA9CgAwIBAgIQT4OhSAOkm743zmbl6akrGzANBgkqhkiG9w0BAQsFADB4
......
U7+DtOIGYhqs+5Il
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF5TCCA82gAwIBAgIQal3D5TtOT9B7aR6l/OxkazANBgkqhkiG9w0BAQsFADB9
......
Szc2kuPNbrV8PvbTLIXupfZFFj0d9mpaFg==
-----END CERTIFICATE-----
Для выхода с сохранением нажмите Ctrl+D.
4. Активируйте модуль apache2 для работы SSL
a2enmod ssl
После включения, вы увидите надпись «Enabling module ssl».
5. Перейдите в каталог с конфигурационными файлами сайтов и проверьте его содержимое
cd sites-available && ls
Вы увидите список вида:
default default-netangels default-ssl vm-e349c9ff.netangels.ru example.com
6. Для того, чтобы настроить работу сайта (например, example.com) через защищенное соединение, необходимо скопировать существующий конфигурационный файл, изменив название (например, добавить ssl):
cp example.com ssl-example.com
7. Отредактируйте файл ssl-example.com
mcedit ssl-example.com
Потребуется изменить:
7.1 в строке VirtualHost измените порт с 80 на 443
7.2 в строке ServerName вместо example.com укажите имя вашего сайта
7.3 В 10й строке вашего конфигурационного файла будет строка, которая начинается с SuexecUserGroup
.
После этой строки вставьте:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/example.crt
SSLCertificateKeyFile /etc/apache2/ssl/example.key
SSLCertificateChainFile /etc/apache2/ssl/example.full.crt
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2
SSLCompression off
SSLHonorCipherOrder on
После этого конфигурационный файл примет примерно такой вид:
<VirtualHost *:443>
ServerAdmin support@netangels.ru
ServerSignature On
ServerName example.com
AddDefaultCharset utf-8
CustomLog /var/log/apache2/user-logs/example.com/access.log combined
LogLevel warn
SuexecUserGroup user user
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/example.crt
SSLCertificateKeyFile /etc/apache2/ssl/example.key
SSLCertificateChainFile /etc/apache2/ssl/example.full.crt
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2
SSLCompression off
SSLHonorCipherOrder on
DocumentRoot "/home/user/example.com/www/"
Ниже будут параметры, на которые можно не обращать внимание.
Теперь осталось изменить параметры SSLCertificateFile
SSLCertificateKeyFile
и SSLCertificateChainFile
- укажите пути к файлам, которые содержат сертификат, ключ и полную цепочку сертификатов соответственно.
Сохраните изменения нажав F2, затем Enter.
8. Включите новую конфигурацию сайта:
a2ensite ssl-example.com
9. Перезапустите веб-сервер для применения изменений:
sv t apache2
10. Проверьте, что все в порядке:
sv s apache2
В ответе должно быть сообщение примерно следующего содержания:
run: apache2: (pid 2561) 11s; run: log: (pid 1981) 1189s
11. Вот и все. Теперь осталось только проверить доступность сайта по адресу https://example.com