Далее шаг за шагом рассмотрим настройку ssl соединения в nginx в CentOS.
Генерация самоподписного сертификата.
openssl req -x509 -out localhost.crt -keyout localhost.key -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' -extensions EXT -config <( printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth") #################################################################### ## Так же можно сгенерировать *.csr ключ на основе *.crt и *.key ### #################################################################### openssl x509 -in domain.crt -signkey domain.key -x509toreq -out domain.csr
В конфигурационном файле nginx (/etc/nginx/conf.d/<site_config>.conf) редактируем параметр server {...} :
server { # порт, который будет слушать веб-сервер listen 443 ssl; ### Либо указать любой-другой порт, напр 4443 ssl; ### ssl_certificate /path/to/certificate/localhost.crt; ssl_certificate_key /path/to/certificate/localhost.key; # доменное имя server_name 127.0.0.1; charset utf-8;
Для работы одновременно по нескольким портам, необходимо добавить параметр server {...} с соответствующими настройками.