我正在尝试使用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 在实例之外完成。
希望有帮助:)