如何使用 Django 进行 URL 屏蔽?

How to do URL masking with Django?

在 Django 1.9 项目中我需要重定向:

https://example.com/app/

https://examplebucket.s3.amazonaws.com/app/index.html

但我需要https://examplce.com/app/在浏览器地址栏上仍然可见...

我知道这在理论上一定可以用 Django 实现,因为以前从事该项目的团队进行了设置以从 S3 存储桶提供 /static/ 媒体文件。如果我通过 https://example.com/static/app/index.html 访问这些静态文件,它们是从 S3 存储桶提供的,但浏览器地址栏仍然显示我输入的原始 url。

我正在部署一个 Ionic 浏览器项目,我希望从 S3 提供文件(包括索引),但 url 需要用户友好,这就是原因。

执行此操作的旧(脏)方法是基于帧的转发。

您在 /app/ 的页面上设置了一个 iframe,它指向真实的应用程序,让 url 保持不变。

由于安全问题(无法确定您在何处输入凭据)和书签问题(url 始终相同,因此无法为内页添加书签),因此这不是一个好的做法.

另一种方法是设置一个代理脚本,只接受 url,将其转换为等效的 aws url,下载它,然后 returns。如果它有多个区域,这将破坏您的云托管的好处……它总是会通过您服务器的瓶颈。