【问题标题】:Proxying external images for SSL compliance为 SSL 合规性代理外部图像
【发布时间】:2013-11-24 20:39:24
【问题描述】:

我有一个小的 Django 站点,用户可以在其中 链接到其 cmets 中其他站点上的图像。这绝不是核心功能。

我刚刚将整个网站移至 SSL。这在大多数情况下工作得很好,但远程图像显然并不总是可以通过 SSL 获得。只有最少量的域具有有效证书。

那么,将图片汇集到一起的最佳方式是什么?

  • 在用户发帖时下载它们并将 URL 更改为本地 URL?
  • 制作一个只代理另一个 URL 的代理?

第二个工作似乎更少(我觉得仅使用 NGINX 规则就可以),但它也会向使用我的代理的人开放网站以获取他们自己的邪恶利益......我想避免。

这里最好的妥协是什么?

【问题讨论】:

    标签: django ssl nginx hotlinking


    【解决方案1】:

    Github 在到处迁移到 HTTPS 时遇到了同样的问题,并在他们的博客中详细说明了这一点:https://github.com/blog/743-sidejack-prevention-phase-3-ssl-proxied-assets

    他们的解决方案是创建一个代理服务器,他们将其开源为https://github.com/atmos/camo 为了解决对滥用代理的同样担忧,它与应用程序服务器共享一个秘密。集成这将是一个 Django 项目,因为您只需要从给定图像 url 的共享密钥生成摘要。

    【讨论】:

    • 是的,这一切都太有道理了。我以为我会度过一个安静的下午:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2012-11-02
    • 2015-02-20
    • 2020-08-03
    相关资源
    最近更新 更多