На основе Nginx в сочетании с OpenSSL достичь HTTPS

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/

рекомендация

отwww.cnblogs.com/laohantui/p/11548500.html