我有一个用于网络的个人服务器。我有时需要 SSH/SFTP 到它。
免责声明:我对nginx内部结构的经验很少。
今天早上,我发现一家知名咖啡馆连锁店的免费 wifi 阻止了 SSH(实际上,他们阻止了任何不在 80/443 上的东西)。但是当我需要 SSH 时,我需要它,所以我寻找在同一端口上共享 SSH 和 HTTPS 的方法。
我查看了一些可以在端口 443 上运行的可能解决方案:
SSHL:SSH/OpenVPN/HTTPS 多路复用器;OpenVPN:VPN 解决方案具有用于 OpenVPN 和 HTTPS 的内置多路复用器;HAProxy:网络服务器/负载平衡器也可以多路复用所有内容。所有这些看起来都很简单,但我真的不喜欢添加层和复杂性的事实,并且可能会在不太可能的情况下放慢速度,因为我需要在 443 上使用 SSH。
我知道它nginx已经支持原始 TCP 流处理。所以我想知道我是否可以直接在nginx. 这个想法是,如果模块识别 HTTP(S) 或其他所有内容,则nginx可以选择使用该http模块stream。
在这种情况下,我有两个问题:
nginx即使能够做这样的区别?(我什至不确定我是否能够同时http在stream块和块中侦听端口 443。)