Цензор видит реальный ip адрес vps сервера, но также видит что этот адрес принадлежит тому домену под который вы маскируетесь и если сделать запрос то прокси возвращает реальный сертификат. Просто попробуйте зайти по https://IPvps должно перенаправить на сайт под который маскируетесь. Или на самом впс можно выполнить запрос, в статьях miracle была команда.
Я немного имел в виду другое, нужно ограничить доступ с разных ip адресов к одному конфигу, чтобы например только устройства с 2 разными адресами могли одновременно пользоваться, а при подключении 3 ip соединения сбрасывалось, с shadowsocks, reality и другими реализация с баном через fail2ban работает, но з CDN по понятным причинам нет. И мыслей как это реализовать з CDN у меня также нет. Если бы UUID как то передавался во время аутентификации, чтобы можно было указать правило на стороне CDN что при запросе с таким-то UUID пропускать запросы только с 1 ip, остальные сбрасывать, но он передается в зашифрованном виде и поэтому никак.
У Вас есть догадки каким способом передается UUID во время инициализации-аутентификации клиента с прокси сервером ? Нужно со стороны VLESS прокси ограничить доступ на кол-во одновременных подключений к одной конфигурации. Если со стороны nginx добавить конфигурацию grpc_set_header X-Real-IP $http_cf_connecting_ip то CDN CF передает реальные ip адреса клиентов Nginx и в панели 3x-ui в ip log видны они, далее fail2ban считывает логи и происходит бан 2 адреса (в случае если ограничение выставлено на 1 ip), но доступ по не понятным мне причинам у 2 клиента остаётся, хотя к другим конфигурациям ss, reality доступа в этот момент уже нет. Насколько понял ограничивать нужно со стороны FW CDN CF ?
Я настроил таким образом, такая конфигурация не демаскирует со стороны стороннего наблюдателя ?
config
map $ssl_preread_server_name $sni_name {
www.microsoft.com reality;
torr.******.pp.ua torr;
adg.*****.pp.ua adg;
default reality;
}
upstream reality {
server 127.0.0.1:8443;
}
upstream naive {
server 127.0.0.1:7443;
}
upstream torr {
server 127.0.0.1:1443;
}
upstream adg {
server 127.0.0.1:4443;
}
server {
listen 443 reuseport;
proxy_pass $sni_name;
ssl_preread on;
proxy_protocol on;
}
server {
listen 443 udp;
proxy_pass 127.0.0.1:443;
}
Мои домены работают корректно, только со стороны сервера http запрос на домен который указан в reality выполняется c ошибкам. Клиент прокси также работает.
resolver
Added www.microsoft.com:443:89.187.129.*** to DNS cache
* Hostname www.microsoft.com was found in DNS cache
* Trying 89.187.129.***:443...
* Connected to www.microsoft.com (89.187.129.182) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.0 (OUT), TLS header, Unknown (21):
* TLSv1.3 (OUT), TLS alert, decode error (562):
* error:0A000126:SSL routines::unexpected eof while reading
* Closing connection 0
curl: (35) error:0A000126:SSL routines::unexpected eof while reading
Простите за глупый вопрос. Я разрулил свои домены с помощью модуля ssl_preread, но только я не понимаю как интегрировать совместную работу с reality. Можете дать подсказку )
Подскажите если перенести работу xray на 444 порт например, оно будет корректно работать ? Просто на сервере крутится nginx и два сайта https порт занят. При переносе xray на 444, он работает и домен microsoft открывается если прописать для него публичный адрес сервера в host.
Цензор видит реальный ip адрес vps сервера, но также видит что этот адрес принадлежит тому домену под который вы маскируетесь и если сделать запрос то прокси возвращает реальный сертификат. Просто попробуйте зайти по https://IPvps должно перенаправить на сайт под который маскируетесь. Или на самом впс можно выполнить запрос, в статьях miracle была команда.
Спасибо за развернутый ответ.
Я немного имел в виду другое, нужно ограничить доступ с разных ip адресов к одному конфигу, чтобы например только устройства с 2 разными адресами могли одновременно пользоваться, а при подключении 3 ip соединения сбрасывалось, с shadowsocks, reality и другими реализация с баном через fail2ban работает, но з CDN по понятным причинам нет. И мыслей как это реализовать з CDN у меня также нет. Если бы UUID как то передавался во время аутентификации, чтобы можно было указать правило на стороне CDN что при запросе с таким-то UUID пропускать запросы только с 1 ip, остальные сбрасывать, но он передается в зашифрованном виде и поэтому никак.
У Вас есть догадки каким способом передается UUID во время инициализации-аутентификации клиента с прокси сервером ? Нужно со стороны VLESS прокси ограничить доступ на кол-во одновременных подключений к одной конфигурации. Если со стороны nginx добавить конфигурацию grpc_set_header X-Real-IP $http_cf_connecting_ip то CDN CF передает реальные ip адреса клиентов Nginx и в панели 3x-ui в ip log видны они, далее fail2ban считывает логи и происходит бан 2 адреса (в случае если ограничение выставлено на 1 ip), но доступ по не понятным мне причинам у 2 клиента остаётся, хотя к другим конфигурациям ss, reality доступа в этот момент уже нет. Насколько понял ограничивать нужно со стороны FW CDN CF ?
Проблему с http запросом решил добавив в конфиг xray.
Также со стороны клиента подключение к серверу по 443 порту происходит, значит все работает как надо )
Я настроил таким образом, такая конфигурация не демаскирует со стороны стороннего наблюдателя ?
config
Мои домены работают корректно, только со стороны сервера http запрос на домен который указан в reality выполняется c ошибкам. Клиент прокси также работает.
resolver
Простите за глупый вопрос. Я разрулил свои домены с помощью модуля ssl_preread, но только я не понимаю как интегрировать совместную работу с reality. Можете дать подсказку )
Подскажите если перенести работу xray на 444 порт например, оно будет корректно работать ? Просто на сервере крутится nginx и два сайта https порт занят. При переносе xray на 444, он работает и домен microsoft открывается если прописать для него публичный адрес сервера в host.