Как установить сертификат на nginx? Печать

  • 2

Установка сертификата SSL и переход на HTTPS-отличный способ сделать соединение между вашим браузером и сервером более безопасным. SSL-соединение рекомендуется для всех сайтов, где пользователю требуется регистрация. Вопреки тому, что говорят многие устаревшие инструкции и руководства, сертификат не добавляет значительной нагрузки на сервер и может быть легко и недорого выпущен.

Как установить сертификат SSL на nginx

Чтобы установить SSL на nginx, вам необходимо выполнить следующие действия:

Вы должны получить архив с сертификатом на свой адрес электронной почты, указанный при заказе SSL-сертификата. В архиве обычно хранятся корневые, промежуточные и доменные сертификаты. Если у вас уже есть пакет.в случае файла crt вы можете сразу перейти к шагу 4. В противном случае вам придется объединить три файла сертификата в один файл. Этот процесс подробно описан в пунктах 2 и 3.
У вас должно быть три файла: comodo_root.crt (корневой сертификат), comodo_intermediate.crt (промежуточный сертификат) и your_domen.ЭЛТ. Их .скопируйте файл key вместе со случайным каталогом на вашем сервере, в который вы хотите их сохранить.
Вы можете создать корневой файл сертификата (comodo_root.crt), файл промежуточного сертификата (comodo_intermediate.crt) и ваш_домен.вам нужно будет объединить файл сертификата crt в один файл CRT. Это делается с помощью следующей команды:
cat comodo_root.crt comodo_intermediate.crt your_domen.crt > bundle.ЭЛТ

В некоторых случаях Comodo отправляет архив, в котором файлы промежуточного сертификата и корневого сертификата уже объединены в один файл. Если это так, вам нужно будет объединить его с файлом сертификата, используя следующую команду:

cat comodo-bundle.crt your_domain.crt > bundle.ЭЛТ

Перейдем к настройке Nginx.

Откройте файл виртуального хоста nginx для сайта, который вы хотите защитить. Если вы хотите получить доступ к своему сайту через безопасное и надежное соединение, вам необходимо добавить серверный модуль для каждого типа подключения. Для безопасного подключения сделайте копию существующего модуля и поместите ее под основной код. Затем добавьте к нему следующие строки (жирным шрифтом):
сервер {

прослушивание 443;

ssl включен;

ssl_certificate /etc/ssl / bundle.ЭЛТ;

ssl_certificate_key /etc/ssl / your_domain.ключ;

server_name yourdomain.com;

access_log /var/log/nginx / nginx.vhost.access.журнал;

error_log/var/log/nginx / nginx.vhost.error.журнал;

Адрес / {

root/home/www/public_html/your_domain / Public/;

индексный индекс.html;

}

}

Убедитесь, что Ssl_certificate установлен в файл crt, который мы создали ранее.

Если вы используете генератор, указанный в приведенной выше ссылке, ваш файл конфигурации может выглядеть примерно так (здесь вы можете перейти к dhparam для обеспечения конфиденциальности.мы имеем в виду, что вы создали PEM. Если нет, то это делается с помощью команды openssl dhparam-out /etc/. pki/nginx / dhparam.- С. 4096):

сервер {

слушать 80;

server_name name.ru www.name.ru;

возвращение 301 https://name.ru$request_uri;

}

# 301 добавить перенаправление

сервер {

Слушайте 443 ssl http2;

server_name www.name.ru;

# не забудьте показать сертификаты здесь

ssl_certifate / etc / nginx / SSL / name. ru / Bundle. crt;

ssl_certificate_key / etc/nginx/ssl/name.ru/name. key;

возвращение 301 https://name.ru$request_uri;

}

сервер {

# добавить протокол http2

Слушайте 443 ssl http2;

server_name name.ru;

access_log off;

#access_log /var/log/nginx/name.ru. access. log;

error_log /var/log/nginx/name.ru. error. log;

ssl включен;

# OCSP-включить скобу. Что это такое и для чего он нужен, вы можете узнать в наших часто задаваемых вопросах.

ssl_stapling включен;

ssl_stapling_verify включен;

# наши сертификаты

ssl_certifate /etc/nginx/ssl / name. ru / Bundle. crt;

ssl_certificate_key / etc/nginx/ssl/name.ru/name_private. key;

ssl_dhparam /etc/nginx/ssl/name.ru/dhparam. pem;

# установить сеанс

ssl_session_tickets отключен;

ssl_session_timeout 1 день;

ssl_session_cache общий: SSL: 50m;

ssl_protocols TLSv1 TLSv1. 1 TLSv1. 2 TLSv1. 3;

ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256-AES128-GCM-SHA256:HEECSHACAD4-HEESSH56 - RSA-AES256-GCM-SHA384: DHE-RSA-AES128-GCM-SHA256: DHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA2182-SHA25 - SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA25:SHA - DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA: AES128-GCM-SHA256: AES256-GCM-SHA384: AES128-SHA256: AES256-SHA256: AES128-SHA: AES256-SHA: DES-CBC3-SHA:!DSS';

ssl_prefer_server_ciphers включен;

add_header Strict-Transport-Security max-age=31536000;

# прокси данных

Адрес / {

# параметры прокси

proxy_send_timeout 600;

proxy_read_timeout 600

;

proxi_bufer_sizi 128k;

proxy_buffers 4 256k;

proxy_busy_buffers_size 256k;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $схема;

proxy_set_header HTPS HA;

# IP-адрес целевого сайта для прокси-сервера

proxy_pass http://192.168.1.108;

}

}

Вам также нужно будет добавить в конфигурацию следующее (Здесь все зависит от используемой CMS):
место ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm / www.sock; fastcgi_split_path_info ^(.+\.php) ().+ )$; fastcgi_index index.php; содержит fastcgi_params; FASTCGI_PARAM SCRIPT_FILENAME $document_root/$fastcgi_script_name; fastcgi_param REMOTE_ADDR $http_x_real_ip; FASTCGI_PARAM HTTPS включен; fastcgi_param HTTP_HTTPS включен; fastcgi_param request_scheme https; fastcgi_param server_port 443; }
Перезапустите nginx. Просто выполните следующую команду:
перезапустите службу nginx


Помог ли вам данный ответ?

« Назад