You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在IIS中托管Node.js时如何解决listen EACCES权限拒绝问题?

解决IIS托管Node.js时的EACCES权限错误

1. 调整IIS应用池身份权限

  • 打开IIS管理器,找到对应网站的应用池,右键选择「高级设置」
  • 在「进程模型」→「标识」中,将默认的ApplicationPoolIdentity临时改为LocalSystem(测试用,后续可换回更安全的账户)
  • 重启应用池和网站,验证是否仍报错

2. 给应用池账户分配端口绑定权限(安全推荐方案)

若不想使用LocalSystem,可通过命令给应用池账户授予端口绑定权限:

  • 以管理员身份打开命令提示符,执行:
    netsh http add urlacl url=http://0.0.0.0:3001/ user="IIS APPPOOL\[你的应用池名称]"
    
    将[你的应用池名称]替换为实际的应用池名称(比如NodeAppPool)
  • 执行完成后重启应用池,测试访问

3. 检查Node项目文件/目录权限

  • 找到Node项目所在文件夹,右键→「属性」→「安全」
  • 添加应用池账户(格式为IIS APPPOOL\[应用池名称]),分配读取和执行、列出文件夹内容、读取权限
  • 确保node_modules目录也拥有相应权限

4. 排查防火墙/安全软件拦截

  • 检查Windows防火墙是否允许Node.js进程通过目标端口(3001或更换后的端口)
  • 临时关闭第三方安全软件,测试问题是否解决,若解决则添加对应放行规则

内容的提问来源于stack exchange,提问作者Manan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:18:11