引言
ngrok是一款强大的内网穿透工具,它可以帮助开发者将本地服务映射到公网,从而实现远程访问。在CentOS系统中部署ngrok,可以使内网服务轻松暴露在外网,方便团队协作和远程调试。本文将详细介绍如何在CentOS上部署ngrok,并体验其内网穿透功能。
环境准备
在开始部署之前,请确保您的CentOS系统满足以下条件:
- CentOS 7 或更高版本
- 系统已安装Git(用于下载ngrok)
- 系统已安装Docker(用于运行ngrok容器)
安装Docker
由于ngrok是基于Docker容器运行的,因此首先需要安装Docker。以下是在CentOS上安装Docker的步骤:
# 安装Docker的依赖库
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker的仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker服务
sudo systemctl start docker
# 设置Docker服务开机自启
sudo systemctl enable docker
下载ngrok
接下来,我们将使用Git从ngrok的官方仓库下载ngrok。首先,确保您的系统已安装Git:
# 安装Git
sudo yum install -y git
然后,使用以下命令下载ngrok:
# 下载ngrok
sudo git clone https://github.com/ngrok/io.git /opt/ngrok
# 进入ngrok目录
cd /opt/ngrok
运行ngrok
现在,我们已经下载了ngrok,接下来将使用Docker容器来运行它。以下命令将在Docker容器中启动ngrok:
# 运行ngrok
sudo docker run -d -p 8080:80 -p 443:443 --name ngrok ngrok/ngrok
上述命令中,-d
参数表示以守护进程模式运行ngrok,-p 8080:80
和-p 443:443
参数分别将容器的80和443端口映射到宿主机的8080和443端口,--name ngrok
参数为容器指定名称。
配置ngrok
在运行ngrok之后,您需要在浏览器中访问以下URL来获取ngrok的授权token:
http://localhost:8080/tunnels
点击“Sign Up”按钮,然后填写您的电子邮件地址,您将收到一个token。复制这个token,并将其粘贴到ngrok容器的配置文件中:
# 编辑ngrok配置文件
sudo nano /opt/ngrok/io/ngrok.yml
# 将以下内容添加到文件中
server: "ngrok.com"
authtoken: "您的token"
保存并关闭文件。
测试内网穿透
现在,您已经配置好了ngrok,接下来测试内网穿透功能。以下是在本地启动一个简单的HTTP服务,并使用ngrok将其映射到公网的步骤:
# 在本地启动HTTP服务
python -m http.server
# 在浏览器中访问以下URL
http://<您的公网IP>:8080
您应该能够看到ngrok提供的Web界面,这表明内网穿透成功。
总结
本文详细介绍了如何在CentOS上部署ngrok,并体验其内网穿透功能。通过本文的步骤,您可以在CentOS系统中轻松实现内网服务的公网访问,方便团队协作和远程调试。