Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
nginx:настройка_ssl_https_в_nginx [2018/06/24 15:18] – mirocow | nginx:настройка_ssl_https_в_nginx [2024/05/12 19:20] (текущий) – mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag> | + | {{tag> |
====== Настройка ssl (https) в nginx ====== | ====== Настройка ssl (https) в nginx ====== | ||
- | ====== Автоматическая настройка | + | ===== Автоматическая настройка ===== |
* [[server: | * [[server: | ||
Строка 18: | Строка 18: | ||
/ | / | ||
+ | <code nginx> | ||
# Подключение самоподписанного сертификата | # Подключение самоподписанного сертификата | ||
# генерация сертификата: | # генерация сертификата: | ||
Строка 27: | Строка 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 | ||
+ | | ||
При генерации вас попросят указать некоторые данные, | При генерации вас попросят указать некоторые данные, | ||
Строка 43: | Строка 48: | ||
в конфигурации сайтов nginx: | в конфигурации сайтов nginx: | ||
+ | <code nginx> | ||
server { | server { | ||
listen | listen | ||
Строка 52: | Строка 57: | ||
... | ... | ||
} | } | ||
+ | </ | ||
+ | |||
Пример с принудительным перенаправлением с http на https: | Пример с принудительным перенаправлением с http на https: | ||
в конфигурации сайтов nginx: | в конфигурации сайтов nginx: | ||
+ | <code nginx> | ||
server { | server { | ||
listen | listen | ||
Строка 68: | Строка 76: | ||
... | ... | ||
} | } | ||
+ | </ | ||
+ | |||
После настройки необходимо перезагрузить nginx: | После настройки необходимо перезагрузить nginx: | ||
/ | / | ||
+ | | ||
Всё готово, | Всё готово, | ||
Так как сертификат самоподписанный браузер попросит подтвердить исключение на его использование. | Так как сертификат самоподписанный браузер попросит подтвердить исключение на его использование. | ||
Строка 95: | Строка 106: | ||
<code bash>$ openssl req -new -x509 -days 9999 -nodes -subj /C=RU/O=My\ site/ | <code bash>$ openssl req -new -x509 -days 9999 -nodes -subj /C=RU/O=My\ site/ | ||
+ | ====== Перенаправление с 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> |