通过对 Nginx 服务器(secure_link模块)的第一个 IP 地址请求来限制 URI 访问



我的公司正在构建具有核心组件的小型视频CDN: - 请求路由器(控制哪个边缘服务器将提供视频内容,生成客户端请求到边缘服务器的URI,带有令牌( - 源视频服务器 - 边缘服务器(使用nginx( 我的示例 URI : http://($remote_address(/videos/($token(/($expires(/abc/xyz/bla/bla/index.mpd 令牌是密钥的MD5,过期...(不是远程地址( 因为从客户端到请求路由器的某些情况remote_address与从客户端到边缘服务器的remote_address不同,所以我不能通过这个IP使用nginx secure_link模块来限制访问。 你们知道如何将一个 Uri 限制为第一个 IP 地址请求它吗?

我认为这直接不适用于Nginx。

您基本上希望将与该模式匹配的 url 与有权访问它的第一个 IP 配对。

为了做到这一点,你需要一种中间件,在对你的服务器的每个请求上执行。

您可以在一个简单的应用程序中创建一个脚本,该应用程序存储令牌和 IP 对,并检查存储是否已经包含与令牌的对。

一旦有了这个,你就可以通过HttpLuaModule对每个请求运行你的脚本。查看此答案以获取示例。

最新更新