Nginx должен быть построен, прежде чем делать, чтобы обеспечить открытые порты
Во-первых, проверьте, является ли OpenSSL установки
[корень @ локальный ~] # мин -qa OpenSSL OpenSSL-1.0.2k-16.el7_6.1.x86_64
Во-вторых, создать сертификат корневого ЦС
1, генерировать секретный ключ CA
[корень @ локальный OpenSSL] # OpenSSL genrsa -out local.key 2048 Генерирование RSA секретный ключ, 2048 бит длинный модуль .......................... +++ ... ............................................ .................................. +++ е 65537 (0x10001)
[корень @ локальный OpenSSL] # Ls local.key
2, запрос сертификата ЦС поколения
[корень @ локальный OpenSSL] # OpenSSL REQ -new -key local.key -out local.csr Вы собираетесь быть предложено ввести информацию , которая будет включена в ваш запрос сертификата. То , что вы собираетесь войти, что называется различающееся имя или DN. Есть довольно много полей , но вы можете оставить некоторые заготовки для некоторых полей будет значение по умолчанию, если вы ввели «», поле будет оставлено пустым. ----- Название страны (2 буквенный код) [XX]: Китай строка слишком долго, она должна быть не менее 2 байт, название страны (2 буквенный код) [XX]: CN //国家 государство или название провинции (полное наименование) []: пекин //省 название Местность (например, город) [Default City]: пекин //城市 название организации (например, компания) [ По умолчанию Company Ltd]: Organizational Unit Name (например, раздел) []: тест //部门 Common Name (например, Ваше имя или имя хоста вашего сервера) []: тест //主机名 Адрес электронной почты []: [email protected] //邮箱 Пожалуйста , введите следующие «дополнительные» атрибуты , которые будут отправлены с вашим запросом сертификата вызов пароля []: tanxiao //密码 Необязательное название компании []: tanxiao //公司名[корень @localhost OpenSSL] # Ls local.csr local.key
3, генерируется корневой сертификат CA
Создание сертификата ЦС , который не так легко узнать команду 1. Запрос сертификата файл ключа поколения 2. сертификата файл запроса для создания окончательного сертификата -in создать сертификат с помощью файла запроса сертификата, -signkey назначен секретный ключ
REQ: документы запроса генерации сертификата для проверки сертификата и создать корень CA -new: новое поколение представляет запрос на сертификат -x509: прямой выход сертификат -Key: генерирующий частный файл ключа , используемый при запросе сертификата отъезд: выходной файл
[корень @ локальный OpenSSL] # OpenSSL x509 -req -в local.csr -расширений v3_ca -signkey local.key отъезда local.crt Подпись нормально при условии = / С = CN / ST = пекин / L = пекин O = По умолчанию Компания / Ltd/OU=test/CN=test/[email protected] Получение Закрытый ключ
В-третьих, создать корневой сертификат сервера в соответствии с корневым сертификатом CA
1 закрытых ключ производящих серверов
[корень @ локальный OpenSSL] # OpenSSL genrsa -out my_server.key 2048 Генерирование RSA секретный ключ, 2048 бит длинный модуль .. +++ ..................... ............................... +++ е 65537 (0x10001)
2, генерирует запрос на сертификат сервера
[корень @ локальный OpenSSL] # OpenSSL REQ -new -key my_server.key -out my_server.csr Вы собираетесь быть предложено ввести информацию , которая будет включена в ваш запрос сертификата. То , что вы собираетесь войти, что называется различающееся имя или DN. Есть довольно много полей , но вы можете оставить некоторые заготовки для некоторых полей будет значение по умолчанию, если вы ввели «», поле будет оставлено пустым. ----- Название страны (2 буквенный код) [XX]: CN государство или название провинции (полное название) []: пекин Название Местность (например, город) [Default City]: Пекин Название организации (например, компания) [ по умолчанию Company Ltd]: Organizational Unit Name (например, раздел) []: тест Общее имя (например, Ваше имя или имя хоста вашего сервера) []: тест Адрес электронной почты []: [email protected] Пожалуйста , введите следующие «дополнительный» атрибуты , которые будут отправлен с вашим запросом сертификата пароль вызова []: tanxiao Необязательного названия компании []: tanxiao [корень @ локальный OpenSSL] # LS локальным. элт local.csr local.key my_server.csr my_server.key
3, генерируется сертификат сервера
[корень @ локальный OpenSSL] # OpenSSL x509 -days 365 -req -в my_server.csr -расширения v3_req -CAkey local.key -ca local.crt -CAcreateserial отъезд my_server.crt Подпись нормально при условии = / С = CN / ST = пекин / L = пекин / O = По умолчанию Компания Ltd/OU=test/CN=test/[email protected] Получение CA Private Key
Четыре, выполненный с возможностью поддержки Nginx SSL (модуль SSL должен быть установлен при настройке Nginx)
[корень @ локальный ~] # ВИМ /usr/local/nginx/conf/nginx.conf
сервер { слушать 80; слушать 443 по умолчанию SSL; keepalive_timeout 100; ssl_certificate /root/local.crt; ssl_certificate_key /root/local.key; ssl_session_cache общий: SSL: 10m; ssl_session_timeout 10м; ssl_ciphers ВЫСОКИЕ: aNULL:! MD5; ssl_prefer_server_ciphers на; server_name локальный; кодировка UTF-8; }
Пять испытаний
https://www.cnblogs.com/tanxiaojuncom/