Установка своего SNI сайта (SelfSNI)

В данной инструкции будет описана пошаговая настройка сайта для работы Reality, с использованием веб сервера Nginx и Certbot

SNI сайт невозможно поднять без доменного имени, Вы можете быстро и легко приобрести домен у нас на сайте за несколько минут - https://my.aeza.net/order/domain

Нам требуется добавить А запись которая будет направлена на сервер Сделать это можно указав знак @ и IP сервера

Сохраняем информацию и подтверждаем добавление данной А записи Ожидаем от 5 минут до 24х часов глобального обновления после чего продолжаем настройку

Установка SelfSNI скриптом

В данном случае будет описана настройка на сервере с операционной системой Ubuntu 24.04

Для этого подключитесь к консоли сервера с помощью SSH И введите следующую команду:

bash <(curl -Ls https://raw.githubusercontent.com/YukiKras/vless-scripts/refs/heads/main/fakesite.sh)

Вас запросят ввести доменное имя, которое вы настраивали в предыдущем шаге:

Вводите его и нажимаете на Enter

Далее скрипт запросит выбрать внутренний SelfSNI порт, вы можете его оставить по умолчанию просто нажав на Enter:

Готово! Просто дожидайтесь установки, результат успешной установки выглядит так:

Рассмотрим внесение настроек SNI в 3x-ui и в Marzban панелях

Внесение настроек в 3x-ui панель

Внесение настроек в Marzban панель

Установка SelfSNI вручную

В данном случае будет описана настройка на сервере с операционной системой Ubuntu 22.04

Установим Nginx и Certbot следующими командами:

apt install nginx certbot python3-certbot-nginx -y

Установка Nginx и Certbot завершена!

После установки Nginx имеется файл default.conf который нам не требуется, удалим его:

rm /etc/nginx/sites-enabled/default

Создадим директорию в которой будут лежать файлы сайта командой:

mkdir /var/www/html/site

В данную директорию нужно загрузить файл(ы) сайта который будет открываться по доменному имени, назовите файл index.html

Далее мы создадим конфигурационный файл сайта:

nano /etc/nginx/sites-available/sni.conf

Добавим следующую информацию:

server {
    listen 80;
    server_name доменное имя;

    if ($host = доменное имя) {
        return 301 https://$host$request_uri;
    }

    return 404;
}

Включим сайт командой

ln -s /etc/nginx/sites-available/sni.conf /etc/nginx/sites-enabled/

После чего получим бесплатный SSL сертификат с помощью Certbot

certbot --nginx -d доменное имя

После введения данной команды, certbot попросит ввести вашу почту, после чего нужно согласиться с условиями и сертификат будет успешно выдан.

Нужно оставить открытым 80 порт либо внести его в исключения фаервола для автоматического продления SSL сертификата.

Приведем конфигурационный файл sni.conf к правильному виду исходя из требований Reality

server {
    listen 127.0.0.1:9000 ssl http2 proxy_protocol;
    server_name доменное имя;

    ssl_certificate /etc/letsencrypt/live/доменное имя/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/доменное имя/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;

    # Настройки Proxy Protocol
    real_ip_header proxy_protocol;
    set_real_ip_from 127.0.0.1;
    set_real_ip_from ::1;

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

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

Протестируем конфигурацию файла sni.conf командой nginx -t, должны увидеть следующее сообщение:

Перезагрузим Nginx командой:

systemctl restart nginx

Ваш SNI сайт готов для использования, он доступен локально по порту 9000
В DEST(Target) нужно указать 127.0.0.1:9000, в SNI (Server name) доменное имя без порта, параметр xver должен быть со значением 1

Настройка VLESS в 3x-ui панели

Для этого откройте 3x-ui панель и перейдите в раздел "Инбаунды":

Далее у вашего VLESS подключения нажимаем на троеточие и кнопку "Изменить":

Далее копируем настройки из консоли и вставляем в панель, нажимаем на "Get New Cert", также пропишите параметр Xver 1:

И только после 4 шага из скриншота нажимаем на кнопку "Обновить" (шаг 5)

Далее необходимо скопировать новые VLESS ключи и перенастроить ваших клиентов.

Настройка VLESS в Marzban панели

Для этого откройте Marzban панель и перейдите в его настройки:

Скопируйте и вставьте настройки из консоли, выставите параметр xver 1, далее нажмите на перезагрузку ядра и сохранения изменений:

Далее нажмите на клавишу F5 и скопируйте новые VLESS ключи и перенастройте на работу с ними ваших клиентов.

Содержание