Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
nginx:настройка_ssl_https_в_nginx [2016/01/31 15:05] – mirocow | nginx:настройка_ssl_https_в_nginx [2024/05/12 19:20] (текущий) – mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag> | + | {{tag> |
====== Настройка ssl (https) в nginx ====== | ====== Настройка ssl (https) в nginx ====== | ||
+ | |||
+ | ===== Автоматическая настройка ===== | ||
+ | |||
+ | * [[server: | ||
+ | |||
+ | ===== Ручная настройка ===== | ||
Строка 12: | Строка 18: | ||
/ | / | ||
+ | <code nginx> | ||
# Подключение самоподписанного сертификата | # Подключение самоподписанного сертификата | ||
# генерация сертификата: | # генерация сертификата: | ||
Строка 21: | Строка 27: | ||
ssl_certificate / | ssl_certificate / | ||
ssl_certificate_key / | ssl_certificate_key / | ||
+ | </ | ||
+ | |||
Создадим папку где будем хранить сертификаты: | Создадим папку где будем хранить сертификаты: | ||
- | | + | <code bash> |
+ | | ||
Для большей безопасности ограничиваем доступ к сертификатам: | Для большей безопасности ограничиваем доступ к сертификатам: | ||
chown nginx:nginx / | chown nginx:nginx / | ||
chmod 700 / | chmod 700 / | ||
+ | | ||
Перейдем в эту папку и сгенерируем сертификат: | Перейдем в эту папку и сгенерируем сертификат: | ||
cd / | cd / | ||
openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key | openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key | ||
+ | | ||
При генерации вас попросят указать некоторые данные, | При генерации вас попросят указать некоторые данные, | ||
Строка 37: | Строка 48: | ||
в конфигурации сайтов nginx: | в конфигурации сайтов nginx: | ||
+ | <code nginx> | ||
server { | server { | ||
listen | listen | ||
Строка 46: | Строка 57: | ||
... | ... | ||
} | } | ||
+ | </ | ||
+ | |||
Пример с принудительным перенаправлением с http на https: | Пример с принудительным перенаправлением с http на https: | ||
в конфигурации сайтов nginx: | в конфигурации сайтов nginx: | ||
+ | <code nginx> | ||
server { | server { | ||
listen | listen | ||
Строка 62: | Строка 76: | ||
... | ... | ||
} | } | ||
+ | </ | ||
+ | |||
После настройки необходимо перезагрузить nginx: | После настройки необходимо перезагрузить nginx: | ||
/ | / | ||
+ | | ||
Всё готово, | Всё готово, | ||
Так как сертификат самоподписанный браузер попросит подтвердить исключение на его использование. | Так как сертификат самоподписанный браузер попросит подтвердить исключение на его использование. | ||
Строка 72: | Строка 89: | ||
Создание сертификата командой: | Создание сертификата командой: | ||
- | openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key | + | <code bash> |
запрашивает некоторую информацию для создания сертификата, | запрашивает некоторую информацию для создания сертификата, | ||
Но если интересно вот описание параметров: | Но если интересно вот описание параметров: | ||
- | Значение | + | ^ Значение |
- | С Двухсимвольный код страны (Country) нет | + | | С | Двухсимвольный код страны (Country) |
- | ST Название региона/ | + | | ST |
- | L Название города/ | + | | L | Название города/ |
- | O Название организации (Organization Name) нет | + | | O | Название организации (Organization Name) |
- | OU Название отдела (Organization Unit) нет | + | | OU |
- | CN Имя сертификата, | + | | CN |
- | emailAddress | + | | emailAddress |
Чтобы не вводить эти параметры интерактивное можно использовать опцию -subj: | Чтобы не вводить эти параметры интерактивное можно использовать опцию -subj: | ||
- | openssl req -new -x509 -days 9999 -nodes -subj /C=RU/O=My\ site/ | + | <code bash> |
+ | |||
+ | ====== Перенаправление с http на https ====== | ||
+ | |||
+ | Для принудительного перенаправления с http на https необходимо сзоздать секцию server и добавить в нее **ssi on** и **return 301** | ||
+ | |||
+ | <code nginx> | ||
+ | server { | ||
+ | listen [IP]:80; | ||
+ | server_name site.com; | ||
+ | index index.php; | ||
+ | access_log / | ||
+ | error_log | ||
+ | charset utf-8; | ||
+ | # | ||
+ | |||
+ | ssi on; | ||
+ | return 301 https:// | ||
+ | } | ||
+ | </ | ||
+ | ===== Ссылки ===== | ||
+ | {{topic> |