使用 RStudio 在 Shiny 应用程序中在 AWS EC2 上使用 auth0

使用 RStudio 在 Shiny 应用程序中在 AWS EC2 上使用 auth0

我正在尝试使用auth0在 AWS EC2(Ubuntu)上使用 RStudio 和 R 包 -授权0。为了使 Shiny 应用程序可公开访问,我将端口 8100(应用程序托管的位置)向公众开放。

此外,我正在使用options(shiny.host="xx.xx.xx.xx")指定民众RStudio 中 EC2 机器的 IP 地址。当我通过 RStudio 中的“运行应用程序”按钮运行 Shiny 应用程序时,出现此错误:

Listening on http://xx.xx.xx.xx:8100
createTcpServer: address not available
Error in .subset2(public_bind_env, "initialize")(...) : 
 Failed to create server

我有类似的设置,auth0就像我在本地机器上一样,运行良好。

我使用的 auth0.yml 文件如下:

name: myApp
shiny_config: xx.xx.xx.xx:8100
auth0_config:
  scope: "openid email profile"
  api_url: !expr paste0('https://', Sys.getenv('AUTH0_USER'), '.auth0.com')
  credentials:
    key: !expr Sys.getenv("AUTH0_KEY")
    secret: !expr Sys.getenv("AUTH0_SECRET")

非常感谢任何有关调试该问题的建议。

答案1

EC2 实例没有公有 IP地址。因此它们无法监听这些地址。您必须配置您的应用以监听私有 IP(检查ip addr show eth0)或将其留空,它应该监听所有可用的本地地址。

译文来自民众私人的IP 由 AWS 在实例之外完成。

希望有帮助:)

相关内容