在装有 Respbian 的 Raspberry Pi 上使用时,当我尝试通过本地网络从另一台计算机访问时transmission-daemon
,总是会出现问题。403 Forbiden
RPi_IP:9091/transmission/
我的settings.json:
"rpc-authentication-required": false,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password":"password",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "pi",
"rpc-access-control-list":"127.0.0.1,*.*.*.*",
"rpc-whitelist": "127.0.0.1,*.*.*.*",
"rpc-whitelist-enabled": true, /* not solved even I change this to true */
如何使 Web UI 在非本地主机上工作?
答案1
有可能,传输程序找不到其配置文件。在这种情况下,会从其他地方读取它/etc/transsmision-daemon/
。尝试在前台运行它,而不是守护进程。
transmission-daemon -f
然后查看 transmission 尝试从哪里读取配置文件。它可以是运行 transmission-daemon 的用户的主目录。
(...) [2016-08-13 16:18:00.906 UTC] Using settings from "/home/pi/.config/transmission-daemon" (...)
使用 停止传输killall transmission-daemon
,然后修改此文件并再次运行守护进程。
注意:如果是配置文件位置的情况,那么您应该检查CONFIG_DIR
中的变量/etc/default/transmission-daemon
。
答案2
通过以下方式停止传输守护进程
killall 传输守护进程
然后将“rpc-whitelist-enabled”设置为false
运行守护进程,瞧,您就可以访问 Web UI。
答案3
经过折磨...:)
我发现在 Linux CentOS 7.5 中还有其他带有设置的文件:
/var/lib/transmission/.config/transmission-daemon/settings.json
无论您进行什么设置
/root/.config/transmission-daemon/settings.json
Transmission 将创建其他settings.json
文件(使用默认设置),最终当您尝试打开传输网页您收到了“禁止”消息。
解决方案:
killall transmission-daemon
rm /var/lib/transmission/.config/transmission-daemon/settings.json
cp /root/.config/transmission-daemon/settings.json /var/lib/transmission/.config/transmission-daemon/settings.json
chmod 0600 /var/lib/transmission/.config/transmission-daemon/settings.json
这样,我们只授予 Transmission 默认设置的读取权限。现在让我们启动服务:
systemctl start transmission-daemon.service
systemctl enable transmission-daemon.service
我以 root 用户身份对其进行了测试,但您可以以任何用户身份运行此服务。
答案4
为了方便新读者,我还发现了另一种我没发现的解决方法:settings.json 中有两个白名单字段。希望这能为您节省一些时间。