如何在自托管虚拟机中限制Typesense仅本地主机访问?
配置Typesense仅允许本地主机访问
要让自托管的Typesense仅对本地主机开放,按以下步骤操作:
1. 修改Typesense监听地址
Typesense默认会绑定0.0.0.0(允许所有网络地址访问),需将其改为仅监听本地回环地址:
- 找到Typesense的启动配置:
- 若使用命令行启动,在启动参数中添加或修改
--listen-address 127.0.0.1:8108(8108为默认端口,若你自定义了端口请替换) - 若使用配置文件(如
/etc/typesense/typesense-server.ini),添加或更新配置项:listen_address = 127.0.0.1:8108
- 若使用命令行启动,在启动参数中添加或修改
- 重启Typesense服务使配置生效:
sudo systemctl restart typesense
2. 防火墙规则加固(可选但推荐)
即使修改了监听地址,通过防火墙添加规则可以进一步杜绝外部访问的可能:
- 使用iptables:
这条规则会直接拒绝所有非本地来源对8108端口的访问,记得用sudo iptables -A INPUT -p tcp --dport 8108 ! -s 127.0.0.1 -j DROPiptables-save保存规则以确保重启后生效。 - 使用ufw(Ubuntu/Debian系):
执行后ufw会先允许本地访问,再拒绝所有外部对该端口的请求。sudo ufw allow from 127.0.0.1 to any port 8108 sudo ufw deny 8108
3. 验证配置效果
- 在虚拟机本地执行:
正常情况下会返回包含curl http://127.0.0.1:8108/health"ok": true的健康状态响应。 - 从外部机器尝试访问虚拟机的公网/局域网IP的8108端口(如
curl http://<虚拟机IP>:8108/health),此时应该无法建立连接或收到拒绝响应,说明配置生效。
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

