【问题标题】:Deliver 3rd party images through secure proxy, using Apache?使用 Apache 通过安全代理交付第 3 方图像?
【发布时间】:2015-12-15 17:39:14
【问题描述】:

我正在开发一个网站,该网站显示了许多托管在第三方 CDN 上的图像。目前,图像不是通过 SSL 传递的。有没有办法在 htaccess 中使用 mod_proxy 来执行以下操作 -

https://example.com/imageProxy?url=http://www.example.org/some3rdPartyHostedImage.jpg

我可以在哪里获取给定的图像 URL 并通过我自己的服务器传送它?通过这种方式,我可以通过 SSL 提供图像。我意识到这样做的安全优势有点可疑,但我正在尝试弄清楚目前是否有可能。

【问题讨论】:

    标签: apache .htaccess ssl proxy mod-proxy


    【解决方案1】:

    奇怪的是您的 CDN 不提供 SSL 访问。

    在继续之前,您必须了解在 Apache 上设置代理会扼杀大部分 CDN 优势。否则是的,你可以成功。

    我建议您使用您的proxy through a rewrite rule,类似于(直接来自文档的示例):

    RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]
    

    或者(ref):

    ProxyPassMatch "^/(.*\.jpg|gif|png)$" "http://backend.example.com/$1.$2"
    

    【讨论】:

    • 抱歉,澄清一下,图片是第 3 方内容。我不控制 CDN。另外,我知道我会失去 CDN 这样做的好处,但不幸的是我不知道我是否还有其他选择(因为我需要图像通过 SSL,但无法控制 CDN)。我希望的一件事是,使用 CloudFlare(我在自己的网站上使用),我至少可以在我的终端上进行缓存,所以我不会经常从 CDN 获取图像。
    • 因此,在上面的示例中,不是简单地获取 URL 的文件名部分并将其换成另一个服务器/路径。我将如何获取整个 URL 并使用它?像 - ProxyPassMatch "^/imageProxy?url=(.*)$" "$" 不太确定如何为我需要的东西写一个正确的匹配。
    猜你喜欢
    • 2014-06-22
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多