Switcher在同一端口运行SSH和HTTP(S)
Switcher是一个代理服务器,能够基于侦测到的协议实现相应的代理,典型应用场景是在同一端口既运行SSH又能运行HTTP(s)。
Switcher是严重受到sslh影响. 开始之初是用来练习学习sslh工作原理,并试图使用Go语言实现。
在正确使用了Go协议匹配接口(增加一个新协议很平常轻松)后证明是非常有用的,包括使用轻量的协程goroutine,而不是使用forking, 后者在高负载下导致CPU高负担。
使用方式:
|
测试HTTP:
$ curl -I http://my-server.local
HTTP/1.1 200 OK
测试SSH:
$ ssh james@my-server.local -p 80
Password: