AI 摘要
利用 nginx 流嗅探能力,将 443 端口的 SSH 流量与 HTTPS 流量分流,SSH 请求转发至本地 22 端口,Web 请求保持正常网站服务,实现 SSH 复用 443 端口穿透防火墙。给出具体配置与验证命令。
一、引子
之前看到过,类似这样的实现,利用 nginx 嗅探流量类型,然后分流到正常网站、或者本地监听的 22 端口。
二、配置
安装过程不再赘述。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| server { listen 443; listen [::]:443; ssl_preread on; proxy_pass $backend; proxy_protocol on; }
map $ssl_preread_protocol $backend { "" 127.0.0.1:7422; default $sni_backend; }
server { listen 127.0.0.1:7422 proxy_protocol; proxy_pass 127.0.0.1:22; }
map $ssl_preread_server_name $sni_backend { proxy.bravexist.cn 127.0.0.1:7444; default 127.0.0.1:8443; }
|
三、验证
1
| ssh root@server_ip -p443
|