如果你希望在本地运行 Deepseek-R1 模型,但不想暴露本地端口给公网访问,Ollama 和 ngrok 提供了一种便捷、安全的解决方案。本教程将指导你如何使用这两个工具,快速搭建并安全地访问 Deepseek-R1 模型。
一、安装 Ollama
Ollama 支持 Linux、Mac 和 Windows,当然也能通过 Docker 来设置。你可以访问 Ollama GitHub 页面 获取完整的安装指南。
安装 Ollama 后,你可以通过以下命令启动 Deepseek-R1 模型:
ollama run deepseek-r1
此时,Deepseek-R1 将在本地的 11434 端口 上运行。
注意:虽然模型已在本地服务器上启动,虽然我们可以设置OLLAMA_HOST 为0.0.0.0来公开局域网使用,但是如果我们的局域网没有配置合适的防火墙,暴露端口会增加安全风险。因此,我们需要一种方法来安全地连接到这个服务。
安装并启动 ngrok
为了安全地暴露模型服务而不暴露本地端口给公网,我们可以使用 ngrok,它为你的本地服务提供一个临时的公共 URL。 你可以通过 ngrok 官网 下载适用于 Linux、Debian 等系统的版本。
如果你使用 Homebrew,可以执行以下命令快速安装:
brew install ngrok
从ngrok 仪表板获取 Authtoken并连接您的帐户。
ngrok config add-authtoken <token>
提示:你可以在 ngrok 仪表板 获取你的 AuthToken。
有关详细的安装说明和更多信息,请参阅官方 ngrok 安装指南。
配置ngrok 转发ollama端点
启动 ngrok 隧道,将本地端口 11434(Deepseek-R1 运行的端口)映射到 ngrok 提供的公共 URL:
ngrok http 11434 --host-header="localhost:11434"
此时,ngrok 会为你的本地服务提供一个公网可访问的 URL,你可以通过这个 URL 来访问 Deepseek-R1 模型。
运行您的第一个 LLM 请求
现在你可以直接向基于 GPU 的 Deepseek-R1 模型发送 API 请求了。使用以下 curl 命令发送生成请求:
curl https://{YOUR_LLM_DOMAIN}/api/generate -d '{
"model": "deepseek-r1",
"prompt":"Why is the sky blue?",
"stream": false,
}'
在请求中,{YOUR_LLM_DOMAIN} 替换为 ngrok 提供的公共 URL,“prompt” 是你要提问的内容。
安全配置
既然您正在运行llm,您绝对希望限制谁可以访问它。通过ngrok流量策略引擎,ngrok 提供了许多可能性:
- 基本认证
- IP 限制
- JWT 验证
- 开放授权
- 光电子数据交换中心
我们以 基本身份验证 为例,设置 ngrok 流量策略来确保只有授权用户才能访问 Deepseek-R1 服务。
首先,关闭 ngrok 并创建一个名为 policy.yaml 的文件,并添加以下内容:
on_http_request:
- actions:
- type: basic-auth
config:
credentials:
- user1:password1
- user2:password2
这些 YAML 行实现了基本身份验证操作,该操作会检查每个请求的 Base64 编码凭据。所有没有这些凭据的请求都会收到 401 Unauthorized响应,甚至无需接触您的虚拟机。您还可以为团队中的不同人员添加最多 10 个凭据。
使用新的流量策略文件再次启动 ngrok 代理。
ngrok http 11434 --host-header="localhost:11434" --traffic-policy-file=policy.yaml
当您下次向 Deepseek-R1 发出请求时,请使用curl的-u标志,它会为您对凭证进行 Base64 编码。
curl -u user1:password1 \
https://{YOUR_LLM_DOMAIN}/api/generate -d '{
"model": "deepseek-r1",
"prompt":"Why is ngrok so great?",
"stream": false,
}'
总结
通过使用 Ollama 和 ngrok,你可以在本地快速运行并安全暴露 Deepseek-R1 模型服务。这个方法不仅简便,还能确保服务安全地暴露给授权用户,避免外部的滥用和攻击。无论是开发、测试,这种组合都能帮助你高效且安全地工作。
提示:想了解更多关于 ngrok 和 Ollama 的使用方法,欢迎查看它们的官方文档: ngrok 文档、Ollama GitHub。
关注我获取更多资讯

