我正在使用监控软件提供的RESTful API,它可以很好地提取资源使用情况图表。不幸的是,包含私有哈希密钥的整个URL在图像URL中公开,这意味着我无法公开显示信息。
由于我希望通过将图像保存到Web服务器上的磁盘来避免缓存图像,有什么方法可以屏蔽/重写图像URL吗?目前我使用以下格式来拉取它,这是右键单击时显示的内容 - >查看图片信息。
答案 0 :(得分:1)
如果网址在同一台服务器上,则可以使用内部重写。如果您转到http://example.com/mygraph.png
,它将在内部重写为该文件路径,客户端仍会在其网址栏中看到http://example.com/mygraph.png
。
RewriteRule ^mygraph.png$ /chart.png?type=graph&graphid=&width=840&height=300&id=9776&username=myuser&passhash=mypasshash [L]
如果图片位于外部域中,则必须代理该请求。请求http://example.com/mygraph.png
时,您的服务器将通过内部代理将请求重做到外部服务器。因此,外部服务器会将您视为该行的另一端,并且您的服务器会将外部服务器的响应传递给客户端。
RewriteRule ^mygraph.png$ http://externaldomain.com/chart.png?type=graph&graphid=&width=840&height=300&id=9776&username=myuser&passhash=mypasshash [P,L]
可以找到mod_rewrite
的文档here。 This documentation提供了有关代理的更多信息。