背景

接上文:

Ollama(在线/离线)使用上的一些技巧

目前大多数人都会使用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~。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐