Nginx setup

Настройка nginx

Cтатика на 443 порту

Без получения или обновления сертификатов

0. Установка nginx

sudo apt install nginx -y

1. Создать директории

mkdir -p /var/www/fake_site/html

Затем перенеси сюда файлы:


2. Конфиг nginx

Содержимое /var/www/fake_site/nginx.conf (подставь свой домен и пути к сертификатам):

server {
    listen 443 ssl;
    http2 on;
    server_name example.com;

    ssl_certificate     /путь/к/fullchain.pem;
    ssl_certificate_key /путь/к/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;

    root /var/www/fake_site/html;
    index index.html;

    # URL авторизации всегда отдаёт 403
    location = /api/login {
        return 403;
    }

    location / {
        try_files $uri $uri/ =404;
    }
}

Примечания:


3. Права доступа

Сертификаты читает главный процесс nginx (от root), поэтому их можно держать где угодно, включая /root. Проверь только, что приватный ключ закрыт от посторонних:

chmod 600 /путь/к/privkey.pem

Файлы сайта в /var/www доступны nginx по умолчанию — трогать права не нужно.


4. Подключить конфиг и запустить

# симлинк из общей папки в sites-enabled
ln -s /var/www/fake_site/nginx.conf /etc/nginx/sites-enabled/fake_site

# убрать дефолтный сайт, если мешает (конфликт server_name на 443)
rm -f /etc/nginx/sites-enabled/default

# проверка синтаксиса и перезагрузка
nginx -t && systemctl reload nginx

Если nginx -t ругается на open() ... failed (No such file or directory) — симлинк ведёт на несуществующий файл: проверь, что nginx.conf реально лежит по указанному пути и путь в ln -s абсолютный.


5. Проверка

# страница должна открываться
curl -skI https://твой-домен          # ожидаем HTTP/2 200

# URL авторизации всегда закрыт
curl -skI https://твой-домен/api/login # ожидаем HTTP/2 403

Если /api/login отдаёт 404 вместо 403 — конфиг не перезагружен или запрос уходит в другой server-блок. Проверь активные конфиги:

ls -l /etc/nginx/sites-enabled/

Открыть порт в файрволе (если используется ufw)

ufw allow 443/tcp

Revision #2
Created 30 September 2026 20:11:29 by annndruha
Updated 30 September 2026 20:17:45 by annndruha