通过S3上的Django App访问EC2上托管的RStudio Server

问题描述 投票:0回答:1

我在AWS上的EC2实例上运行了一个R Shiny应用程序。该应用程序可以通过其链接直接访问。

我还在S3上托管了一个Django应用程序,它以iframe的身份访问应用程序。

我想要做的是仅通过Django应用程序限制Shiny App的访问。目前,EC2实例安全组没有限制,他们监听端口80和22。

我有什么想法可以做到这一点?

django amazon-web-services amazon-s3 amazon-ec2
1个回答
0
投票

我希望答案很简单,并说你只需要限制你的Shiny应用程序访问你的Django应用程序的IP,但不幸的是你使用的是iframe。

当您使用iframe时,访问您的Django应用程序的任何人都需要访问该iframe的内容。如果您的Django应用程序需要可以从任何地方访问,那么您的iframe内容需要可以从任何地方访问。

您可以减轻对Shiny应用程序内容的访问权限。您可以使用X-Frame-Options标头来阻止您的Shiny应用程序嵌入其他网站。例如,您可以设置nginx来为您的Shiny应用程序提供服务并设置这些标题。

以下是一些有用的链接:

https://security.stackexchange.com/questions/67889/why-do-browsers-enforce-the-same-origin-security-policy-on-iframes(关于X-Frame-Options)

https://webmasters.stackexchange.com/questions/65619/protect-a-url-from-being-used-in-an-iframe-except-on-a-single-site(关于Referer)

How to get parent URL in a shiny-app(和你一样)

© www.soinside.com 2019 - 2024. All rights reserved.