Чтобы настроить SSL/TLS с помощью Nginx on Ubuntu, выполните следующие действия:
Шаг 1: Установите Nginx
Если вы не установили Nginx, выполните следующие команды, чтобы установить его:
sudo apt update
sudo apt install nginx
Шаг 2: Установите OpenSSL
Если у вас не установлен OpenSSL, установите его с помощью следующей команды:
sudo apt install openssl
Шаг 3. Создайте каталог для файлов SSL-сертификатов.
Создайте каталог для хранения файлов сертификатов SSL:
sudo mkdir /etc/nginx/ssl
Шаг 4. Создайте самозаверяющие сертификаты SSL/TLS(необязательно)
Если вы не используете сертификаты SSL от центра сертификации, вы можете создавать самозаверяющие сертификаты с помощью OpenSSL. Это полезно для тестирования SSL/TLS в среде разработки. Чтобы создать самоподписанный сертификат, выполните следующие команды:
cd /etc/nginx/ssl
sudo openssl genrsa -out server.key 2048
sudo openssl req -new -key server.key -out server.csr
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Шаг 5. Настройте Nginx использование SSL/TLS
Откройте Nginx файл конфигурации для веб-сайта, который вы хотите защитить:
sudo vi /etc/nginx/sites-available/your_domain
Добавьте следующие строки в файл конфигурации, чтобы включить SSL:
server {
listen 80;
server_name your_domain.com www.your_domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your_domain.com www.your_domain.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
# Additional SSL/TLS options can be added here(optional)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
# Additional configurations(if needed)
location / {
# Reverse proxy configuration(if needed)
}
}
Шаг 6: Включите конфигурацию и перезапустите Nginx
Создайте символическую ссылку из файла конфигурации, чтобы sites-available
включить sites-enabled
конфигурацию:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
Проверьте, Nginx нет ли в конфигурации ошибок:
sudo nginx -t
Если ошибок нет, перезапустите Nginx службу, чтобы применить новую конфигурацию:
sudo systemctl restart nginx
После завершения ваш сайт будет защищен с помощью SSL/TLS. Обратите внимание, что при использовании самозаверяющих сертификатов браузер будет предупреждать о ненадежных сертификатах. Чтобы иметь доверенный сертификат SSL/TLS, вам необходимо приобрести или получить бесплатный сертификат в центре сертификации.