ngrok
是一个反向代理工具,它允许你将本地运行的网络服务暴露到公网。以下是在 Linux 下使用 ngrok
的基本教程:
ngrok
通过创建一个安全的通道,将你的本地网络服务(如 Web 服务器)暴露到互联网上。它使用一个公共 URL 来转发流量到你的本地服务,并且提供了实时访问日志。
首先,你需要下载并安装 ngrok
。你可以从 ngrok
的官方网站下载适合你操作系统的版本。
# 下载 ngrok
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
# 解压文件
unzip ngrok-stable-linux-amd64.zip
# 将 ngrok 移动到 /usr/local/bin 目录
sudo mv ngrok /usr/local/bin/
在使用 ngrok
之前,你需要注册一个账户并获取一个 authtoken。登录 ngrok
的网站,然后在终端中运行以下命令来设置你的 authtoken:
ngrok authtoken YOUR_AUTH_TOKEN
假设你有一个本地运行的 Web 服务器,监听在端口 80 上。你可以使用以下命令启动 ngrok
:
ngrok http 80
这将启动 ngrok
并提供一个公网 URL,通过这个 URL 外部用户可以访问你的本地 Web 服务。
ngrok
提供了加密的隧道,保护你的数据传输。ngrok
提供了实时的访问日志,方便调试和监控。应用场景包括但不限于:
原因:可能是端口冲突、防火墙设置或 ngrok
服务本身的问题。
解决方法:
ngrok
使用的端口。ngrok
或重新生成 authtoken。原因:默认情况下,ngrok
提供的 URL 是临时的,每次启动都会变化。
解决方法:
ngrok
的付费版本,以获得一个固定的公网域名。ngrok
提供的地址。以下是一个简单的 Python Flask 应用示例,以及如何使用 ngrok
来暴露它:
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
启动 Flask 应用:
python app.py
然后启动 ngrok
:
ngrok http 80
现在,你可以通过 ngrok
提供的公网 URL 访问你的 Flask 应用了。
希望这个教程对你有所帮助!如果你有任何其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云