Приветствую. Пытаюсь обуздать плагин v2ray (GitHub - shadowsocks/v2ray-plugin: A SIP003 plugin based on v2ray), возникла проблема при совмещение его с nginx, чтобы спрятать его за сайтом
Работает в режиме v2ray-tls-ws
На сервере запускаю:
v2ray-plugin -server -tls -host МОЙ_ДОМЕН -cert /etc/letsencrypt/live/МОЙ_ДОМЕН/fullchain.pem -key /etc/letsencrypt/live/МОЙ_ДОМЕН/privkey.pem -localAddr АДРЕС_ВПС -localPort 443 -remotePort 22
На клиенте запускаю:
v2ray-plugin -tls -host МОЙ_ДОМЕН -localAddr 127.0.0.1 -localPort 8022 -remoteAddr АДРЕС_ВПС -remotePort 443
Стучусь по ssh с клиента на сервер:
ssh root@127.0.0.1 -p 8022
Все нормально, получился TLSv1.3 туннель, судя по wireshark
Теперь хочу скрыть все это за сайтом.
С таким конфигом:
server {
server_name МОЙ_ДОМЕН;
root /var/www/МОЙ_ДОМЕН;
index index.html;
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/МОЙ_ДОМЕН/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/МОЙ_ДОМЕН/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location /v2ray {
proxy_pass http://127.0.0.1:9999;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 10m;
proxy_send_timeout 10m;
proxy_read_timeout 90m;
send_timeout 10m;
}
}
server {
if ($host = doomiddqd.xyz) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name doomiddqd.xyz;
return 404; # managed by Certbot
}
Проверяю сайт, в браузере. Все ок https работает.
Запускаю серверную часть на впс
v2ray-plugin -server -tls -host МОЙ_ДОМЕН -path /v2ray -cert /etc/letsencrypt/live/МОЙ_ДОМЕН/fullchain.pem -key /etc/letsencrypt/live/МОЙ_ДОМЕН/privkey.pem -localAddr 127.0.0.1 -localPort 9999 -remotePort 22
На клиенте:
v2ray-plugin -tls -host МОЙ_ДОМЕН -path /v2ray -localAddr 127.0.0.1 -localPort 8022 -remoteAddr 5.2.74.240 -remotePort 443
Опять пытаюсь подключится по ssh:
ssh root@127.0.0.1 -p 8022
Безрезультатно.
Послушал tcpdump lo на vps, трафик идет на 9999 порт при попытке подключения по ssh, но похоже, что v2ray-plugin не отвечает.
Пробовал v2ray-plugin всмести с ss, тоже результата не добился
конфиг ss
Клиент:
{
“server”:“АДРЕС_ВПС”,
“server_port”:443,
“local_port”:1080,
“password”:“ПАРОЛЬ”,
“timeout”:600,
“method”:“aes-128-gcm”,
“fast_open”: true,
“dns”:“1.1.1.1”,
“nameserver”: “1.1.1.1”,
“reuse_port”: true,
“mode”: “tcp_only”,
“plugin”:“/etc/shadowsocks-libev/v2ray-plugin”,
“plugin_opts”: “tls;host=МОЙ_ДОМЕН;path=/v2ray”
}
Сервер:
{
“server”:“127.0.0.1”,
“server_port”:9999,
“local_port”:1080,
“password”:“ПАРОЛЬ”,
“timeout”:600,
“method”:“aes-128-gcm”,
“fast_open”: true,
“dns”:“1.1.1.1”,
“nameserver”: “1.1.1.1”,
“reuse_port”: true,
“mode”: “tcp_only”,
“plugin”:“/etc/shadowsocks-libev/v2ray-plugin”,
“plugin_opts”: “server;tls;host=МОЙ_ДОМЕН;path=/v2ray”
}
UPD
Удалось запустить с nginx только так убрав ключ -tls у сервера:
Сервер:
v2ray-plugin -server -host МОЙ_ДОМЕН -path /v2ray -cert /etc/letsencrypt/live/МОЙ_ДОМЕН/fullchain.pem -key /etc/letsencrypt/live/МОЙ_ДОМЕН/privkey.pem -localAddr 127.0.0.1 -localPort 9999 -remotePort 22 -remoteAddr 127.0.0.1
Клиент:
v2ray-plugin -tls -host МОЙ_ДОМЕН -path /v2ray -localAddr 127.0.0.1 -localPort 8022 -remoteAddr IP_СЕРВЕРА -remotePort 443
|