Nginx反向代理Ollama,实现IP限制,防止安全问题
·
背景
接上文:目前大多数人都会使用ollama来本地部署LLM,但是又会有docker部署导致127.0.0.1:11434访问不到ollama,或者直接安装部署,但是局域网访问不到ollama,于是就会衍生出下面的办法:
设置环境变量:Environment=“OLLAMA_HOST=0.0.0.0”
问题是解决了,但会导致安全问题,如下:
关于大模型工具Ollama存在安全风险的情况通报
https://mp.weixin.qq.com/s/n7PyLykK7MlO3re2oOyY5w
方案
虽然ollama环境变量提供了:**Environment="OLLAMA_ORIGINS**方式,但实测下来不知为何不生效,还是用Nginx反向代理的方式更优雅点,可以通过Nginx成熟的访问控制,配合防火墙,达到ollama的使用权限设置。Nginx配置
server {
listen 8888;
server_name _;
charset utf-8;
# access_log logs/deepseek_llm.log main;
location / {
proxy_pass http://127.0.0.1:11434;
}
}
我这贴了一个简单的nginx配置,主要是在默认http下增加一个server:
- listen:代表你想对外映射的端口
- charset是要指定的,否则可能输出乱码
- location 填写本地的ollama地址,因为ollama服务本身不对外映射,所以直接127.0.0.1:11434即可
如果有需要,可以在配置中增加IP白名单/黑名单限制:
# 设置IP白名单
allow 192.168.1.100;
allow 192.168.1.200;
deny all; # 拒绝所有其他IP
# 设置IP黑名单
deny 192.168.1.100;
deny 192.168.1.200;
allow all; # 允许所有其他IP
后记
再配合防火墙,已经可以做一套比较完善的访问控制策略了,对于个人用户,相对无所谓了,因为在局域网,很少有算力剽窃的现象,但对于某些敏感企业或用户的云上,必要的访问策略还是必要的,enjoy~。更多推荐



所有评论(0)