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

如何解决Shiny Server上其他用户访问权限被拒问题

解决Shiny Server内网访问权限问题的实操步骤

咱们先拆解下你的问题:你自己能正常访问http://ourIP:8787/p/098a4074/,但同事访问时需要登录还提示权限被拒,目标是仅限内网同事可见。下面从几个核心方向逐一排查解决:

1. 调整Shiny Server核心配置文件

Shiny Server的主配置文件通常在/etc/shiny-server/shiny-server.conf,这是权限控制的关键入口:

  • 先打开配置文件编辑:
    sudo nano /etc/shiny-server/shiny-server.conf
    
  • 重点检查这两个点:
    • 确保site块里没有强制登录的配置,如果有auth_required就注释掉(你不需要登录验证):
      site /srv/shiny-server {
        # auth_required shiny;  # 把这行用#注释掉
        directory_index on;
      }
      
    • 添加内网IP白名单,限制仅内网访问(比如你的内网是192.168.1.0/24网段):
      site /srv/shiny-server {
        allow 192.168.1.0/24;
        deny all;
        directory_index on;
      }
      
  • 修改完成后重启Shiny Server生效:
    sudo systemctl restart shiny-server
    

2. 确认应用目录的实际位置与权限细节

你提到找过p/098a4074这类目录,其实这是Shiny Server生成的临时路由,实际应用文件存在两个常见位置:

  • 如果你是手动上传到服务器,一般在/srv/shiny-server/下的应用文件夹;
  • 如果是通过Shiny面板上传,可能在/var/lib/shiny-server/users/你的用户名/目录下。

找到实际目录后,要确保Shiny Server进程能读取:

  • Shiny默认以shiny用户运行,所以把应用目录的所属组改成shiny,同时开放合理权限:
    sudo chown -R 你的用户名:shiny /srv/shiny-server/你的应用名
    sudo chmod -R 755 /srv/shiny-server/你的应用名
    
    注意:别用不安全的777权限,755足够让shiny用户读取和执行文件

3. 检查服务器防火墙设置

如果同事在内网但还是访问不了,大概率是服务器防火墙挡住了8787端口:

  • 先查看Debian默认防火墙(ufw)的状态:
    sudo ufw status
    
  • 如果8787端口没开放给内网,添加规则:
    sudo ufw allow from 192.168.1.0/24 to any port 8787
    
  • 重启防火墙让规则生效:
    sudo ufw reload
    

4. 个人ShinyApps目录的访问授权

如果你的应用是放在个人~/ShinyApps/目录下,Shiny Server默认只有你自己能访问,要开放给同事需要调整配置:

  • 在shiny-server.conf里添加或修改user_dirs块:
    user_dirs {
      user_dir /home/你的用户名/ShinyApps;
      allow 192.168.1.0/24;  # 仅限内网访问
    }
    
  • 同样重启Shiny Server生效。

最后验证

修改完以上设置后,让同事在内网环境下重新访问http://ourIP:8787/p/098a4074/,应该就能直接打开无需登录了。如果还是有问题,可以查看Shiny Server的日志文件(/var/log/shiny-server/),里面会记录具体的权限拒绝原因,方便进一步排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 07:53:14