Настройка Nginx

Редактирование конфигурационного файла

Терминал:

# Переходим в директорию с конфигурациями
cd /etc/nginx

# Редактируем конфиг (используйте ваш редактор)
sudo nano sites-available/ваш-сайт
# или
sudo vi sites-available/ваш-сайт

Конфигурационный файл (пример)

Конфиг файл NGINX

server {
    # Основной нестандартный порт HTTPS
    listen 8443 ssl http2;
    listen [::]:8443 ssl http2;
   

 
    # Резервный нестандартный порт (опционально)
    listen 9443 ssl http2 backup;
    
    server_name ваш-домен.com www.ваш-домен.com;
    
    # Путь к корневой директории сайта
    root /var/www/ваш-сайт/html;
    index index.html index.htm index.php;
    
    # SSL конфигурация
    ssl_certificate /etc/ssl/certs/ваш-сайт.crt;
    ssl_certificate_key /etc/ssl/private/ваш-сайт.key;
    
    # Протоколы и шифры (рекомендуемые настройки)
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    
    # Оптимизация SSL
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_session_tickets off;
    
    # Директивы безопасности
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    
    # Логи
    access_log /var/log/nginx/ваш-сайт-access.log;
    error_log /var/log/nginx/ваш-сайт-error.log;
    
    # Конфигурация сайта
    location / {
        try_files $uri $uri/ =404;
    }
    
    # Пример для PHP (если нужно)
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    
    # Статические файлы
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 365d;
        add_header Cache-Control "public, immutable";
    }
}

# Опционально: редирект с порта 443 на нестандартный
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name ваш-домен.com www.ваш-домен.com;
    
    ssl_certificate /etc/ssl/certs/ваш-сайт.crt;
    ssl_certificate_key /etc/ssl/private/ваш-сайт.key;
    
    return 301 https://$server_name:8443$request_uri;
}

Создание ссылки в sites-enabled (если ее нет)

Терминал:

sudo ln -s /etc/nginx/sites-available/ваш-сайт /etc/nginx/sites-enabled/

Menu