Вики 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:28] (текущий) Алексей Максимов
Строка 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:pasted:20160404-162454.png }}
 +
 +----
 +
 +{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 04.04.2016 16:07
 +
 +{{tag>Linux "web server" SSL HTTPS Certificate nginx vhost "virtual host" phpBB phpBB3 Wordpress}}
 +
 +~~DISCUSSION~~
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.1459023143.txt.gz · Последнее изменение: 26.03.2016 23:12 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki