Folia
← 返回头版

自托管HTTP隧道:SSH与Nginx的实现方案

开发者可以通过OpenSSH和Nginx的组合,搭建自托管的HTTP隧道服务。1该方案利用SSH远程转发功能,使用ssh -R 0:localhost:8080命令将本地服务暴露到互联网上的远程服务器。1Nginx则通过正则匹配p[port].ssh.luffy.cx域名格式的请求,将流量代理到对应的临时端口127.0.0.1:$port。1

为保障隧道安全性,该方案采用了Nginx的ngx_http_secure_link_module模块进行访问控制。1系统通过计算MD5哈希值,并将哈希值与过期时间戳通过HTTP Basic Auth的用户名字段传递,以实现基于哈希的认证机制。1生命周期设置为86400秒(24小时)。1为简化部署流程,辅助脚本可通过查找sshd-session进程来获取系统分配的临时端口。1


评论