繁体   English   中英

如何将 shinyApp 限制在一台计算机上

[英]How to restrict shinyApp to one computer

在运行 shinyApp 时,会自动创建 URL。 感谢对我之前问题的评论,我现在了解到这个 URL 不能在线供公众访问,但仅限于我的 PC,如果连接到同一个 LAN,则仅限于我的同事(请参阅此处的答案)。 如何将 shinyApp 限制在它运行的一台计算机上,即即使是同一 LAN 的用户也不能运行该应用程序?

为了使其可重现:

library(shiny)
ui <- fluidPage("Some app")
server <- function(input, output) {}
shinyApp(ui = ui, server = server)

对于这个最小的示例,我们如何避免“Listening on http://...”打印到控制台并允许其他人访问我的应用程序? 我试图玩弄runApp() function 的port参数,插入NANULL ,但不知道该怎么做。

背景:我在一家拥有大约 100 座建筑物和 5,000 多名员工的大型诊所工作。 这取决于员工可以访问哪些数据(工作单位、职业……)。 我的应用程序包含敏感数据,我不允许访问我们局域网中的任何人。 事实上,我的应用程序是为特定用例构建的,该用例仅由一个人完成。 因此,我想将应用程序完全限制在一台计算机上。

默认情况下,您的应用只能在 localhost(您的 PC)上访问。

请参阅?runApp()

主机参数的默认值为:

host = getOption("shiny.host", "127.0.0.1"),

shiny.host变量默认未设置:

getOption("shiny.host")
# NULL

因此,要确保您的应用程序只能从 localhost 访问,请使用:

runApp(host = "127.0.0.1")

应用于您的示例代码:

library(shiny)
ui <- fluidPage("Some app")
server <- function(input, output) {}
app <- shinyApp(ui = ui, server = server)
runApp(appDir = app, port = getOption("shiny.port"), host = "127.0.0.1")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM