Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| 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> | ||