Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:how-to-install-ssl-certificate-for-https-on-nginx-for-wordpress-phpbb-dokuwiki-sites

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:how-to-install-ssl-certificate-for-https-on-nginx-for-wordpress-phpbb-dokuwiki-sites [26.03.2016 23:12] – создано Алексей Максимовunix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:how-to-install-ssl-certificate-for-https-on-nginx-for-wordpress-phpbb-dokuwiki-sites [04.04.2016 16:24] – [Дополнительная настройка Wordpress] Алексей Максимов
Строка 1: Строка 1:
-===== Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 11. Настройка HTTPS на Nginx =====+===== Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 11. Настройка поддержки HTTPS в Nginx, Wordpress и phpBB ===== 
 + 
 +В [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:how-to-get-free-ssl-certificate-for-site-from-wosign|прошлый раз]] мы получили SSL сертификат. Теперь мы рассмотрим порядок установки сертификата на [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04|веб-сервер на стеке LEMP]]. 
 + 
 +\\ 
 +==== Настройка глобальных параметров Nginx ==== 
 + 
 +Генерируем файл параметров для протокола обмена ключами Диффи-Хеллмана (по умолчанию его нет, и поэтому нам нужно сгенерировать его отдельно): 
 + 
 +<code>sudo openssl dhparam -out /etc/ssl/dhparams.pem 2048</code> 
 + 
 + 
 +Файл полученного ранее SSL-сертификата скопируем, например в месторасположение **/etc/ssl/mydomain.crt** 
 + 
 +При этом не забываем, что закрытый ключ от нашего сертификата мы [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:how-to-get-free-ssl-certificate-for-site-from-wosign|ранее]] разместили здесь: **/etc/ssl/private/mydomain.key** 
 + 
 + 
 +В файл глобальной конфигурации **nginx** в секцию **http** добавляем общие параметры ssl, которые будут относиться ко всем нашим виртуальным хостам (сайтам): 
 + 
 +<code>sudo nano /etc/nginx/nginx.conf</code> 
 + 
 +Приведу фрагмент секции **http** с добавленными строками: 
 + 
 +<file php /etc/nginx/nginx.conf> 
 +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; 
 + ... 
 +
 +</file> 
 + 
 +\\ 
 +==== Настройка виртуальных хостов Nginx ==== 
 + 
 +Предположим, мы хотим все клиентские запросы на порт TCP 80 перенаправлять на TCP 443 с использованием SSL.  
 +Для этого в файлах конфигурации виртуальных хостов **nginx** добавляем ещё одну секцию **server** и добавляем в ней параметры включения **SSL**. Все основные параметры виртуального хоста переносим в секцию с включённым SSL, а в секции с 80 портом задаём безусловный редирект на **HTTPS**: 
 + 
 +<file php /etc/nginx/sites-available/blog.mydomain.ru> 
 +server { 
 +        listen 80; 
 +        server_name blog.mydomain.ru; 
 +        return 301 https://$server_name$request_uri; 
 +
 +server { 
 +        listen 443; 
 +        ssl on; 
 +  ... 
 + # Здесь вся основная конфигурация виртуального хоста 
 + ... 
 +        } 
 +
 +</file> 
 + 
 +По аналогии настраиваем конфигурационные файлы всех виртуальных хостов и перезапускаем nginx 
 + 
 +<code>sudo service nginx restart</code> 
 + 
 +Обратите внимание на то, что служба должна быть перезапущена без ошибок. 
 + 
 + 
 + 
 + 
 +\\ 
 +==== Дополнительная настройка phpBB3 ==== 
 + 
 +Помимо настройки конфигурационного файла виртуального хоста **nginx** для сайта **phpBB3**, при включённом **SSL** для корректной работы форумного движка, желательно включить опцию поддержки **безопасных cookie**. 
 + 
 +Сделать это можно перейдя по ссылкам:\\ 
 +**Административный раздел** > **Конфигурация сервера** > **Настройки cookies**\\ 
 +Включить опцию **Безопасные cookie [ https ]** 
 + 
 +{{ :unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:pasted:20160404-162358.png }} 
 + 
 + 
 +\\ 
 +==== Дополнительная настройка Wordpress ==== 
 + 
 +Помимо настройки конфигурационного файла виртуального хоста **nginx** для сайта **Wordpress**, в административной панели блога необходимо изменить параметры основных адресов **URL**:  
 + 
 +Для этого переходим в **Настройки** > **Общие** и изменяем значения полей **Адрес WordPress (URL)** и **Адрес сайта (URL)** указав в качестве протокола **https** 
 + 
 +{{ :unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:pasted:20160404-162417.png }} 
 + 
 + 
 +\\ 
 +==== Проверяем результат ==== 
 + 
 +Проверяем работу сайтов, обратившись к ним через веб-браузер по протоколу HTTP. Веб-сервер должен будет нас перенаправить на HTTPS. 
 + 
 +Дополнительно мы можем проверить правильность наших настроек SSL на предмет всевозможных известных проблем и уязвимостей. 
 +Для этого можно воспользоваться онлайн-сервисом [[https://dev.ssllabs.com/ssltest/analyze.html|SSL Labs]] 
 +Здесь можно ввести имя своего веб-сайта с включённым SSL и запустить процедуру проверки, по результату которой можно будет понять общий уровень текущих настроек. 
  
unix-linux/ubuntu/ubuntu-14-04-lts-trusty-tahr/how-to-install-lemp-web-server-on-ubuntu-14-04/how-to-install-ssl-certificate-for-https-on-nginx-for-wordpress-phpbb-dokuwiki-sites.txt · Последнее изменение: 04.04.2016 16:28 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki