内网穿透是为了解决内网无法直接访问公网服务,或者搭建公网服务但无法保持公网IP稳定等问题而生。sunny-ngrok就是其中一种实现内网穿透的工具,它具有轻量、易懂、免费的优点,而且还支持多种协议、跃迁、自定义等高级功能。
一、快速上手
1、下载sunny-ngrok的安装包,解压到某个目录下,并在该目录下启动sunny-ngrok服务:
./sunny clientid [clientid] secretkey [secretkey] hostname [域名] port [端口]
其中,clientid和secretkey是在sunny-ngrok网站上注册后获得的。hostname是你要将内网映射到哪个公网域名下,端口是你要映射的内网端口。
2、检查服务是否正常启动:
ps -ef | grep sunny
如果输出类似下面的结果,则表示sunny-ngrok服务已正常运行:
root 2321 1 0 07:36 ? 00:00:00 sunny clientid [clientid] secretkey [secretkey] hostname [域名] port [端口]
3、在后台启动sunny-ngrok服务并保存输出日志:
nohup ./sunny clientid [clientid] secretkey [secretkey] hostname [域名] port [端口] > sunny.log &
4、使用外界公网访问已经映射的内网服务:
curl http://域名:映射后的端口
二、多种协议支持
sunny-ngrok支持多种常见的协议,通过指定对应的协议名称,即可实现将内网服务映射到公网访问:
- HTTP协议:
./sunny -http [本地端口] -hostname [域名] -port [公网端口]
./sunny -https [本地端口] -hostname [域名] -port [公网端口] -cert [证书文件路径] -key [密钥文件路径]
./sunny -tcp [本地端口] -hostname [域名] -port [公网端口]
./sunny -udp [本地端口] -hostname [域名] -port [公网端口]
三、跃迁和自定义
sunny-ngrok还支持跃迁和自定义功能,可以进一步定制内网穿透的行为:
- 跃迁:
./sunny -hostname [域名] -port [公网端口] -jump [目标主机:目标端口]
即将公网请求跃迁到指定的目标主机和端口上。
./sunny -hostname [域名] -port [公网端口] -proto [协议名称]
即自定义指定协议的映射行为。
四、总结
sunny-ngrok是一款老牌且强大的内网穿透工具,它轻量易懂、免费而且功能齐全。通过本文的引导,你已经掌握了sunny-ngrok的快速上手、多种协议支持和跃迁与自定义功能。在实际开发中,你可以使用sunny-ngrok将内网服务暴露到公网上进行调试和测试,也可以通过自定义功能进行更加灵活的应用场景拓展。