本地Docker部署的Tiny Tiny RSS添加RSS Bridge源提示URL验证失败如何解决
报错原因
Tiny Tiny RSS 默认开启了 SSRF 防护校验,会拦截所有对私有地址(包括 localhost、127.0.0.1、局域网网段)的订阅源请求,你部署的 RSS Bridge 属于本地私有地址服务,因此触发校验失败报错。
解决步骤
步骤1:修改 Tiny Tiny RSS 配置文件
进入你 Docker 挂载的 Tiny Tiny RSS 配置目录,编辑config.php文件,也可以直接进入容器编辑/var/www/html/config.php,添加/修改以下两个配置项:// 允许请求私有地址 define('FETCH_ALLOW_PRIVATE_ADDRESSES', true); // 可选:如果你的服务用了自签证书,添加该配置跳过证书校验 define('FETCH_NO_CERT_VALIDATION', true);同时确认配置文件中
SELF_URL_PATH参数已经正确设置为你实际访问的 Tiny Tiny RSS 地址:define('SELF_URL_PATH', 'http://localhost:181/');步骤2:调整订阅源地址(Docker 部署必做)
两个 Docker 容器默认网络隔离,在 Tiny Tiny RSS 容器内直接访问 localhost:10 无法连通宿主机上的 RSS Bridge 服务,选以下任意一种方式调整即可:- 方式1:将两个服务加入同一个 Docker 自定义网桥,订阅源地址填写 RSS Bridge 的容器名+内部端口,比如 RSS Bridge 容器名为
rss-bridge、内部暴露端口为 80,则订阅源前缀为http://rss-bridge/ - 方式2:将订阅源地址中的 localhost 替换为宿主机的局域网IP,比如宿主机IP为 192.168.1.100,则订阅源前缀为
http://192.168.1.100:10/
- 方式1:将两个服务加入同一个 Docker 自定义网桥,订阅源地址填写 RSS Bridge 的容器名+内部端口,比如 RSS Bridge 容器名为
步骤3:重启 Tiny Tiny RSS 容器,配置生效后重新添加订阅源即可。
可选验证操作
进入 Tiny Tiny RSS 容器内部,执行 curl 你调整后的RSS Bridge订阅源完整地址,如果能返回正常的 Atom/XML 内容,说明网络连通性正常,再到后台添加订阅不会再触发报错。
内容的提问来源于stack exchange,提问作者kopek3105
相关产品推荐
相关产品推荐

