塞恩123 2024-06-09 14:33 采纳率: 63.6%
浏览 52
已结题

SillyTavern如何允许新指定的端口通过防火墙?

img


遇到问题:
SillyTavern如何设置端口通过防火墙
报错内容:
code:'EACCES
errno:-4092
syscall: 'listen'
address: 127.0.0.1.
port: 8000
我的思路是:
先弄端口,后弄权限(如果端口不行)
操作环境:
Windows,终端
版本信息:
SillyTavern 1.12.0

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-06-09 14:33
    关注

    引自免费微信小程序:皆我百晓生

    面对SillyTavern在尝试监听特定端口时遇到的EACCES错误,这通常意味着应用程序没有足够的权限来绑定到指定的端口。在Windows系统上,端口号小于1024通常需要管理员权限才能绑定,而大于1024的端口则可能由于防火墙或其他安全设置被阻止。

    解决方案一:运行SillyTavern作为管理员

    确保SillyTavern以管理员权限运行可以解决权限问题。打开命令提示符或PowerShell并右键选择“以管理员身份运行”,然后重新执行SillyTavern的启动命令。

    解决方案二:更改防火墙规则

    如果问题仍然存在,尤其是当SillyTavern试图绑定的端口大于1024时,可能是防火墙阻止了它。你可以通过以下步骤添加一个新的防火墙规则:

    1. 打开“控制面板” -> “系统和安全” -> “Windows Defender 防火墙”。
    2. 点击左侧的“高级设置”。
    3. 在左侧面板中,点击“入站规则”。
    4. 在右上角,点击“新建规则...”。
    5. 选择“端口”,点击“下一步”。
    6. 选择“TCP”,并勾选“特定本地端口”,输入SillyTavern使用的端口号(例如8000),点击“下一步”。
    7. 选择“允许连接”,点击“下一步”。
    8. 根据需要选择规则应用的网络类型(域、专用或公用),点击“下一步”。
    9. 输入一个描述性的名称和可选的描述,点击“完成”。

    解决方案三:更改SillyTavern配置文件

    如果上述方法仍然无效,考虑修改SillyTavern的配置文件,让它绑定到一个不同的、非特权端口(大于1024)。这通常涉及到编辑配置文件中的port属性。

    例如,如果你的配置文件中有一个类似这样的条目:

    {
      "server": {
        "port": 8000
      }
    }
    

    你可以将其更改为:

    {
      "server": {
        "port": 12345 // 更改为你选择的非特权端口
      }
    }
    

    解决方案四:使用批处理脚本或服务管理工具

    为了简化以管理员身份运行SillyTavern的过程,可以创建一个批处理脚本来自动执行这个操作。例如,创建一个名为run_sillytavern_admin.bat的批处理文件,内容如下:

    @echo off
    start "" cmd /c "runas /user:Administrator \"cd /d %~dp0 && start cmd /k npm start\""
    

    这将提示你以管理员身份运行SillyTavern。不过,你可能需要根据你的实际启动命令调整"npm start"部分。

    结论

    以上提供的解决方案应该能帮助你解决SillyTavern在Windows环境下遇到的端口绑定问题。如果问题依旧,建议检查是否有其他进程占用了目标端口,或者查看系统日志以获取更详细的错误信息。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月14日
  • 创建了问题 6月9日