Настройка XHTTP-CDN и TCP-REALITY-VISION на одном VPS. #4232
netsentinel
started this conversation in
Show and tell
Replies: 1 comment 2 replies
-
Почему просто не изпользовать два домена? Для своих целей достаточно какой-нибудь бесплатный субдомен |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
В данном материале будет рассмотрен пример сосуществования XHTTP-VLESS-TLS-over-CDN и TCP-VLESS-REALITY-VISION на одном VPS. В случае с CDN будет устанавливаться маскировочный вебсайт, для прямого доступа - reality. Таким образом, мы получаем два совершенно разных способа обхода блокировок на одном VPS. Пример составлен так, что на самом сервере не требуется практически ничего, кроме прописывания
docker compose up
. Для работы данной конфигурации вам потребуется домен, который через cloudflare (далее - CF) указывает на ваш сервер, также требуется включить gRPC в настройках CF. В качестве маскировки для примера я буду применять filebrowser. Ниже представлена схема получаемого результата.Для начала рассмотрим compose.yml. В конце я предоставлю полный код, здесь же удалены некоторые части.
Теперь рассмотрим конфиг NGINX. Решение о том, откуда идет трафик, принимается на основании IP - они заранее известны для CF и прочих CDN. Поэтому создаётся файл с их перечнем -
nginx.cdn.conf
.Переходим к основному конфигу. Поскольку vision порождает нечитаемый http трафик, мы не можем просто иметь
http
блок. Решение о роутинге принимается по IP вstream
блоке, т.е. имея обычный TCP-поток.Теперь конфиг xray. Тут, в целом, всё достаточно просто.
Полный код примера можно найти здесь. Ещё раз, всё что вам нужно: сделать домен, который смотрит на ваш сервер; установить его на CF и включить gRPC в панели; клонировать упомянутый репозиторий, переопределить домен в nginx.conf и поднять контейнеры.
P.S. Вы можете использовать nerdctl вместо докера - команду
nerdctl compose up
в директории сcompose.yml
, для этого установите его:Beta Was this translation helpful? Give feedback.
All reactions