Переходим на https. Устанавливаем SSL сертификат на сервер
C 1 января 2017 года GOOGLE обращает особое внимание на безопасность пользователей в сети. А именно на защиту передаваемой на сайты информации. Теперь сайты использующие https протокол имеют приоритет ранжирования в поиске и очень явную отметку в браузере Chrome:
Вывод: надо срочно переходить на https!
Как? Просто!
К великому сожалению у компании StartCOM, выдававшей качественные бесплатные сертификаты, возникли проблемы и эти сертификаты более не валидны. Но они обещают решить эту проблему. На данный момент мой выбор ComodoSSL. Описывать процесс приобретения не буду (но если попросите, то буду)))
Предположим, что вы уже купили сертификат и у вас есть ключ <domain.key > и несколько сертификатов <*.crt> (ваш основной и промежуточные для построения цепочки).
Теперь надо объединить сертификаты и настроить сервер. Загружаем сертификаты на сервер в директорию /etc/nginx/ssl. Для объединения вы можете использовать редактор типа ( например notepad++) или выполнить команду в директории с сертификатами:
cat domain_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA >> my.crt
Теперь промежуточные сертификаты можно удалить, что бы не мешали. У вас должно остаться два файла: my.crt и domain_com.key
Прописываем пути к сертификату и ключу в nginx. Открываем
/etc/nginx/bx/conf/ssl.conf
находим там соответствующие строчки и меняем пути на свои. В итоге должно получиться:
ssl_certificate /etc/nginx/ssl/my.crt; ssl_certificate_key /etc/nginx/ssl/domain_com.key;
Перезапускаем nginx:
service nginx restart
Ваш сайт уже доступен по адресу https://domain.com! Но...
Заходим на https://www.ssllabs.com/ssltest/, вбиваем в строку адрес вашего сайта и ждем окончания проверки (примерно минуту). Видим:
Нормально, но максимальная оценка А+ и мы непременно хотим ее получить. Поэтому продолжаем. SSLLABS говорит нам, что оценка снижена из-за того, что мы используем «weak Diffie-Hellman (DH) key exchange parameters». Ок, мы перестанем его использовать. Для этого надо сгенерировать ключ длинной не менее 2048 бит. Для надежности сделаем 4096 бит!
В директории с сертификатами выполним
openssl dhparam -out dhparam.pem 4096
И можно пойти сделать кофе, т.к. это довольно долгий процесс.
После завершения в директории появится файл dhparam.pem, его тоже надо вписать в /etc/nginx/bx/conf/ssl.conf и, заодно, добавим возможность работы с HSTS:
ssl_dhparam /etc/nginx/ssl/dhparam.pem; add_header Strict-Transport-Security "max-age=63072000;";
Опять перезапускаем nginx
service nginx restart
Заходим на SSLLABS и нажимаем clear cache. Ждем окончания проверки.
Профит!
Не забывайте поделиться статьей с друзьями. Всем удачи!
- Комментарии