在已出版的 bookdown 书中包含托管在私有服务器中的 Shiny 应用程序
Posted
技术标签:
【中文标题】在已出版的 bookdown 书中包含托管在私有服务器中的 Shiny 应用程序【英文标题】:Including a Shiny app hosted in a private server in a published bookdown book 【发布时间】:2018-02-04 01:37:48 【问题描述】:我在尝试做我认为我会直截了当的事情时遇到了问题:将托管在 https://www.shinyapps.io/ 中的 Shiny 应用替换为托管在 AWS EC2 服务器中的同一个应用。
我以前的(工作正常,但时间用完了)是:
```r, echo = FALSE, screenshot.opts = list(delay = 15), dev = 'png',
cache = TRUE, fig.align = 'center', out.width = '90%'
knitr::include_app('http://user.shinyapps.io/least-squares/', height =
'900px')
```
我在尝试什么:
```r, echo = FALSE, screenshot.opts = list(delay = 15), dev = 'png',
cache = TRUE, fig.align = 'center', out.width = '90%'
knitr::include_app('http://ec2-35-177-34-200.eu-west-
2.compute.amazonaws.com:3838/least-squares/', height = '900px')
```
您可以看到该应用程序确实在运行
http://ec2-35-177-34-200.eu-west-2.compute.amazonaws.com:3838/least-squares/ [编辑:现已禁用]
此外,第二段代码生成html
文档,这些文档在本地充分显示了应用程序(它们是从.Rmd
文件生成的)。当本书发布到http://bookdown.org时,问题就来了;如果我使用第二段代码(第一段很好),应用程序不会显示。
知道发生了什么吗?
【问题讨论】:
【参考方案1】:您不能在通过 HTTPS 提供的网页上使用 HTTP 资源。有关更多信息,请参阅此帖子:Allow loading HTTP resources over HTTPS
您在 ShinyApps.io 上托管的应用可以正常运行,因为它是通过 HTTPS 提供的。
【讨论】:
确实,这就是问题所在。更改为 HTTPS,一切都很好。非常感谢!以上是关于在已出版的 bookdown 书中包含托管在私有服务器中的 Shiny 应用程序的主要内容,如果未能解决你的问题,请参考以下文章