Архив метки: nginx

Установка SSL сертификата на nginx

В зависимости от того, какие данные предоставил центр сертификации клиенту, установку можно разбить на несколько пунктов:

  1. У вас есть приватный ключ, а также цепочка сертификатов (сам SSL сертификат + промежуточный + корневой сертификаты). Обычно это 2 файла с расширениями key (приватный ключ) и crt (цепочка сертификатов)
  2. У вас есть приватный ключ, сам SSL сертификат, а также цепочка сертификатов (промежуточный+корневой). Обычно это файлы с расширениями key (приватный ключ) и 2 файла с расширением crt (сертификат и цепочка сертификатов соответственно)
  3. У вас есть приватный ключ, сам SSL сертификат, а также промежуточный и корневой сертификат т.е. 4 элемента по отдельности. Обычно это файлы с расширениями key и 3 файла с расширением crt.
  4. У вас есть сертификат в другом формате, например pfx

Помимо этого может быть файл с запросом на сертификат, обычно в формате csr
Приступим к разбору каждого пункта

 У вас есть приватный ключ, а также цепочка сертификатов

Подготовка к установке

Наилучший вариант т.к. потребуется только указать эти данные в конфигурации nginx и перезапустить его.

Установка сертификата

Будем считать, что приватный ключ имеет имя private.key, а цепочка сертификатов CAbundle.crt

Создадим директорию ssl в nginx:

[root@server ~]# mkdir /etc/nginx/ssl

Далее скопируйте файл приватного ключа и цепочку сертификатов в директорию /etc/nginx/ssl/

[root@server ~]# mv private.key CAbundle.crt /etc/nginx/ssl

После этого откройте файл конфигурации виртуального хоста nginx в редакторе и измените значения строк ssl_certificate и ssl_certificate_key

Например (вариант при использовании LetsEncrypt:

Было:

ssl_certificate /etc/letsencrypt/live/site.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem;

Стало:

ssl_certificate /etc/nginx/ssl/private.key;
ssl_certificate_key /etc/nginx/ssl/CAbundle.crt;

Не забудьте про точку с запятой (;) в конце каждой из строк
Сохраните файл и перезагрузите nginx

[root@server ~]# systemctl restart nginx

 У вас есть приватный ключ, сам SSL сертификат, а также цепочка сертификатов

Данный вариант отличается от первого только тем, что нужно добавить цепочку сертификатов в сам SSL сертификат.

Будем считать, что SSL сертификат имеет имя site_ru.crt, а цепочка сертификатов CA.crt

В таком случае объединение файлов можно выполнить так:

Перейдем в директорию, где расположены данные файлы (например /root/site_certs/)

[root@server ~]# cd /root/site_certs/

Объединим файлы

[root@server certs]# cat CA.crt >> site_ru.crt

Далее выполните действия по установке сертификата: Установка SSL сертификата на nginx

У вас есть приватный ключ, сам SSL сертификат, а также промежуточный и корневой сертификат

Данный вариант отличается от первого только тем, что нужно объединить все сертификаты (SSL сертификат, промежуточный и корневой) в одну цепочку.

Будем считать, что SSL сертификат имеет имя site_ru.crt, корневой сертификат CAroot.crt, промежуточный сертификат CAintermediate.crt

В таком случае объединение файлов можно выполнить так:

Перейдем в директорию, где расположены данные файлы (например /root/site_certs/)

[root@server ~]# cd /root/site_certs/

Объединим файлы

[root@server certs]# cat CAroot.crt CAintermediate.crt >> site_ru.crt

Далее выполните действия по установке сертификата: Установка SSL сертификата на nginx

У вас есть сертификат в другом формате, например pfx

Данный вариант отличается от первого только тем, что цепочка сертификатов и приватный ключ уже содержатся в pfx сертификате и осталось только конвертировать его.

Будем считать, что SSL сертификат имеет имя cert.pfx

В таком случае получить необходимые файлы можно выполнить так:

Перейдем в директорию, где расположен данный файл (например /root/site_certs/)

[root@server ~]# cd /root/site_certs/

Получим цепочку сертификатов

[root@server certs]# openssl pkcs12 -in cert.pfx -clcerts -nokeys -out public.crt

Получим приватный ключ

[root@server certs]# openssl pkcs12 -in cert.pfx -nocerts -nodes -out private.key

Далее выполните действия по установке сертификата

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2018-12-28T09:44:42
Nginx

VestaCP установка и настройка

Введение

VestaCP – это бесплатная панель  управления  сайтами, идеально подходит для установки на VDS сервер для личного использования и не большого хостинга. Существует несколько вариантов сборки VestaCP

  1. Nginx, apache,php
  2. Apache,php
  3. Nginx,php,php-fpm

Кроме веб сервисов в VestaCP входят пакеты ftp, DNS, MAIL, firewall. А также базы данных Mariadb или PostgresSQL.

 Установка VestaCP

Для установки перейдите на сайт https://vestacp.com/install/. На этой странице выбираем нужную нам конфигурацию. Рассмотрим пример установки nginx+php-fpm на сервер Centos 7.

После нажатия кнопки «Generate Install Command», мы получим код для установки панели

Далее, в соответствии с инструкцией подключаемся по ssh к нашему серверу. Вводим команду

curl -O http://vestacp.com/pub/vst-install.sh

Запускаем скрипт установки.

bash vst-install.sh --nginx yes --phpfpm yes --apache no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous yes --mysql yes --postgresql no --hostname test.webserver.ru --email admin@vestacptest.ru --password qeqes9sdf

Вы должны запускать свой скрипт установки, со своими параметрами.

Проверяем еще раз выбранные компоненты для установки, если все верно вводим “y”

После чего вся установка пройдет в автоматическом режиме. Когда установка закончится вы увидите ссылку и данные для входа в web интерфейс VestaCP

Набираем в строке поиска указанную ссылку, и после ввода логина с паролем попадаем в WEB интерфейс VestaCP.

Что бы сменить язык на русский, кликните по ссылке admin и выберите в поле Language: ru

Также здесь можно задать остальные настройки пользователя.

Добавление домена

Для добавления домена, переходим в меню WEB  и нажимаем кнопку “+” add web domain

На следующей странице вводим название нашего домена

При необходимости нажимаем на ссылку “advanced options” и указываем дополнительные настройки, например если мы хоти подключить ssl для работы https, поставьте галочку SSL Support

Для дальнейшего редактирования созданного домена, перейдите снова на вкладку WEB и нажмите кнопку edit в созданном  домене. Особый интерес здесь представляет меню WEB Template. Это шаблоны конфигураций nginx. Все шаблоны находятся в папке /usr/local/vesta/data/templates/web/nginx/php-fpm. Их вы можете выбрать через выпадающее меню

Как видим есть множество шаблонов настроек nginx для различных cms и фреймворков. Например для работы wordpress c использованием ЧПУ, необходимо выбрать шаблон wordpress2_rewrite.

Также здесь вы можете добавить дополнительный ftp аккаунт к домену, подключить web статистику, ssl сертификат.

Настройка ДНС записей

Для настройки ДНС записей в VestaCP перейдите в меню DNS.  Выберите нужный домен, здесь вы можете отредактировать как основную A запись домена

Так и служебные DNS записи

 

Настройка почты в VestaCP

Для настройки почтовых ящиков, перейдите в меню Mail, выберите нужный домен, и нажмите кнопку  “add account”. На открывшейся странице заполните необходимые поля, после чего нажмите кнопку “Add”

Заключение

Как видим, в установке и настройки панели VestaCP нет ничего сложного, установить и настроить можно буквально за 15 минут, даже не имея большого опыта в администрировании Linux, а в результате мы получим мощный и полнофункциональный инструмент управления сайтами не уступающий платным аналогам.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2018-11-21T15:17:09
Nginx

Установка Nginx на FreeBSD

Как установить Nginx на FreeBSD?

Вы можете установить его по умолчанию с помощью команды:

pkg install nginx

Но поскольку я предпочитаю, чтобы модуль gzip_static включал gzip-файлы «на лету», я бы скорее установил, скомпилировав его из портов, мне нравится эта возможность, что я в основном наслаждаюсь Arch Linux и Gentoo. Читать

Nginx отправляет 404 на бэкэнд

nginx

Nginx – отличный веб-сервер, но он также замечателен как обратный прокси, и  это отлично когда вы делаете обе вещи одновременно.

Если вы хотите, чтобы Nginx выполнял роль веб-сервера, но если есть ошибка, ошибка 404 вы можете передать вызов Apache или любому другому серверу. Читать

Сниппет NGINX для ЧПУ в WordPress

Ниже приведен пример готовой конфигурации NGINX, позволяющей CMS WordPress корректно отображать ЧПУ (человеко-понятные урлы). В раздел location / конфигурационного файла сайта на WP (/etc/nginx/sites-available/sitename.ru) добавьте следующие строки:

Читать