【原创】在宝塔面板中为反向代理添加Beare认证
最近在部署Ollama+DeepSeek。
遇到了一个严重的安全问题,Ollama缺少安全认证机制。
虽然Ollama默认服务的时127.0.0.1,外部网络是不可以访问的。但是现实是,外部网络需要访问。然而允许外部网络访问的话,几乎可以被操控Ollama的各种功能,包括删除大模型映像文件。
比较简单的方式是,使用一个反向代理,将Ollama向外发布。在反向代理上添加安全策略。
这里,我用宝塔面板中的Nginx来做反向代理。
第一步,确定要给认证密码。比如"YOUR_FIXED_TOKEN_HERE"
第二步,从“软件商店”中找到Nginx,打开其配置。
在第27行,添加如下容:
map $http_authorization $is_authorized {
default 0; # 默认未授权
"Bearer YOUR_FIXED_TOKEN_HERE" 1; # 替换为你的固定 Bearer Token
}
第三步,对发布的站点中Nginx配置中添加检查认证
第41行
# 检查是否授权
if ($is_authorized != 1) {
return 401 "Unauthorized: Invalid Bearer Token"; # 返回 401 错误
}
如果想禁止 DELETE 方法的话,可以添加47行的内容。
测试:
DELETE 方法,得删除一个大模型,我就不演示了。