Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
В прошлый раз мы получили SSL сертификат. Теперь мы рассмотрим порядок установки сертификата на веб-сервер на стеке LEMP.
Генерируем файл параметров для протокола обмена ключами Диффи-Хеллмана (по умолчанию его нет, и поэтому нам нужно сгенерировать его отдельно):
sudo openssl dhparam -out /etc/ssl/dhparams.pem 2048
Файл полученного ранее SSL-сертификата скопируем, например в месторасположение /etc/ssl/mydomain.crt
При этом не забываем, что закрытый ключ от нашего сертификата мы ранее разместили здесь: /etc/ssl/private/mydomain.key
В файл глобальной конфигурации nginx в секцию http добавляем общие параметры ssl, которые будут относиться ко всем нашим виртуальным хостам (сайтам):
sudo nano /etc/nginx/nginx.conf
Приведу фрагмент секции http с добавленными строками:
http { ... ssl_protocols TLSv1.2 TLSv1.1 TLSv1; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+ECDSA+AESGCM:AES128+EECDH:AES128+EDH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!CAMELLIA:!ADH"; ssl_session_cache shared:TLS:20m; ssl_stapling on; #ssl_stapling_verify on; resolver 77.88.8.8 77.88.8.1 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; ssl_dhparam /etc/ssl/dhparams.pem; ssl_certificate /etc/ssl/mydomain.crt; ssl_certificate_key /etc/ssl/private/mydomain.key; ... }
Предположим, мы хотим все клиентские запросы на порт TCP 80 перенаправлять на TCP 443 с использованием SSL. Для этого в файлах конфигурации виртуальных хостов nginx добавляем ещё одну секцию server и добавляем в ней параметры включения SSL. Все основные параметры виртуального хоста переносим в секцию с включённым SSL, а в секции с 80 портом задаём безусловный редирект на HTTPS:
server { listen 80; server_name blog.mydomain.ru; return 301 https://$server_name$request_uri; } server { listen 443; ssl on; ... # Здесь вся основная конфигурация виртуального хоста ... } }
По аналогии настраиваем конфигурационные файлы всех виртуальных хостов и перезапускаем nginx
sudo service nginx restart
Обратите внимание на то, что служба должна быть перезапущена без ошибок.
Помимо настройки конфигурационного файла виртуального хоста nginx для сайта phpBB3, при включённом SSL для корректной работы форумного движка, желательно включить опцию поддержки безопасных cookie.
Сделать это можно перейдя по ссылкам: Административный раздел > Конфигурация сервера > Настройки cookies Включить опцию Безопасные cookie [ https ]
Помимо настройки конфигурационного файла виртуального хоста nginx для сайта Wordpress, в административной панели блога необходимо изменить параметры основных адресов URL:
Для этого переходим в Настройки > Общие и изменяем значения полей Адрес WordPress (URL) и Адрес сайта (URL) указав в качестве протокола https
Проверяем работу сайтов, обратившись к ним через веб-браузер по протоколу HTTP. Веб-сервер должен будет нас перенаправить на HTTPS.
Дополнительно мы можем проверить правильность наших настроек SSL на предмет всевозможных известных проблем и уязвимостей. Для этого можно воспользоваться онлайн-сервисом SSL Labs Здесь можно ввести имя своего веб-сайта с включённым SSL и запустить процедуру проверки, по результату которой можно будет понять общий уровень текущих настроек.
Автор первичной редакции: Алексей Максимов Время публикации: 04.04.2016 16:07