首页 / 新加坡VPS推荐 / 正文
Ngrok服务器,内网穿透的利器,ngrok服务器搭建详细教程

Time:2024年12月19日 Read:13 评论:42 作者:y21dr45

一、背景介绍

Ngrok服务器,内网穿透的利器,ngrok服务器搭建详细教程

在现代网络应用开发和测试环境中,内网穿透工具扮演着至关重要的角色,特别是对于没有固定公网IP的本地开发环境,如何让外部用户或设备访问到内网的服务一直是一个难题,Ngrok作为一款强大的内网穿透工具,凭借其简单易用和强大的功能,成为了众多开发者的首选,本文将详细介绍如何搭建和使用Ngrok服务器,以及其在实际应用中的一些技巧和注意事项。

二、什么是Ngrok?

Ngrok是一款基于反向代理技术的内网穿透工具,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道,使得本地服务器可以被外网访问,Ngrok不仅支持HTTP和HTTPS协议,还支持TCP协议,使其应用场景更加广泛。

三、Ngrok的主要特点

易于使用

Ngrok提供了开箱即用的体验,只需简单的配置和命令即可快速实现内网穿透,无论是在本地开发环境中进行测试,还是将本地服务暴露给远程用户,Ngrok都能轻松胜任。

安全可靠

Ngrok使用TLS加密技术,确保数据在传输过程中的安全性,Ngrok还提供了身份验证机制,可以通过设置访问密码来保护隧道不被未经授权的用户访问。

灵活多样

Ngrok支持多个平台,包括Windows、macOS和Linux,并提供了命令行工具和图形界面(GUI),Ngrok还支持自定义域名和HTTPS协议,满足不同用户的需求。

公共URL

Ngrok会为每个隧道分配一个随机的子域名,用户可以通过该子域名访问本地服务器,Ngrok还提供了自定义域名的功能,用户可以将自己的域名与Ngrok结合使用,提高品牌形象和可信度。

四、搭建Ngrok服务器的步骤

安装必要的软件

需要在服务器上安装Git、Go语言和OpenSSL,这些软件是编译Ngrok所必需的。

安装Git
yum install -y git
安装Go语言
yum install -y golang
安装OpenSSL
yum install -y openssl

获取Ngrok源码

从GitHub上克隆Ngrok的源码到本地。

git clone https://github.com/inconshreveable/ngrok.git /usr/local/ngrok

生成证书

进入Ngrok目录后,需要生成自签名证书,这些证书将用于HTTPS通信。

cd /usr/local/ngrok
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=ngrok" -days 5000 -out rootCA.crt
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=ngrok" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

替换证书

将生成的证书替换到Ngrok源码中的相应位置。

cp rootCA.crt assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key

编译Ngrok

根据目标平台,编译Ngrok的服务端和客户端。

编译64位Linux平台服务端
GOOS=linux GOARCH=amd64 make release-server
编译64位Windows平台客户端
GOOS=windows GOARCH=amd64 make release-client

启动服务端

在服务器上启动Ngrok服务端,指定域名和端口号。

./ngrokd -domain="your_domain" -httpAddr=":80" -httpsAddr=":8082" -tunnelAddr=":443"

启动客户端

将Ngrok客户端复制到本地文件夹中,并新建配置文件ngrok.cfg

server_addr: "your_domain:443"
trust_host_root_certs: false

在cmd中使用以下命令启动客户端:

ngrok.exe -subdomain=jueying -config=ngrok.cfg 80

五、常见问题及解决方法

编译时卡住

在编译过程中,如果遇到下载依赖包缓慢的问题,可以尝试更换Go版本或手动下载所需的依赖包。

端口冲突

如果提示端口被占用,可以在启动服务端时指定其他端口号,将HTTP端口改为8081:

./ngrokd -domain="your_domain" -httpAddr=":8081" -httpsAddr=":8082" -tunnelAddr=":443"

无法连接服务器

如果客户端无法连接到服务端,请检查以下几点:

- 确保服务端已启动并监听正确的端口。

- 检查防火墙设置,确保相关端口已开放。

- 确认客户端配置文件中的服务器地址和端口是否正确。

六、总结

Ngrok作为一个功能强大的内网穿透工具,极大地简化了开发者将本地服务暴露给外网的过程,通过上述步骤,用户可以轻松搭建自己的Ngrok服务器,并在各种场景下使用,需要注意的是,Ngrok虽然方便,但在生产环境中应谨慎使用,确保安全性和稳定性,希望本文能帮助读者更好地理解和使用Ngrok,提升工作效率。

标签: ngrok服务器 
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1