Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Nginx 302重定向 – 内部解析大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

目前,我们有一个服务器实现302重定向服务器的一些内容.例如,用户请求:

http://origin1.example.com/m3ugen/segsrc/jet480.mp4

此服务器以302响应并提供:

http://origin1.example.com/Segments/HLS_TS/segsrc/jet480.mp4-20140831-142558.m3u8`

这对我们来说是个问题,我们希望让Nginx处理这个更加用户友好,并与一些不处理302重定向的玩家合作.

我们想要的是:

>用户请求http://frontend.example.com/hls/jet480.mp4.m3u8并由Nginx收到.
> Nginx向http://origin1.example.com/m3ugen/segsrc/jet480.mp4提出请求
> Nginx接收重定向代码302 http://origin1.example.com/Segments/HLS_TS/segsrc/jet480.mp4-20140831-142558.m3u8
> Nginx向http://origin1.example.com/Segments/HLS_TS/segsrc/jet480.mp4-20140831-142558.m3u8发出请求,并直接向用户提供响应,无需任何302重定向.

我认为这可以通过Nginx完成,但我们没有太多经验.任何帮助将非常感谢.

P.D.我们无法配置原始服务器.它使用Helix Server,当为m3u8播放列表提供服务时,它会为每个文件添加一个更改的时间戳.

最佳答案
这并不理想,拥有一个干净的工作流程而不是这样做会好得多.
但是出于好奇,这可能会让想知道是否有可能的人提供信息.

是的,使用error_page,rewrite,map,proxy_intercept_errors和proxy_redirect指令以及$upstream_http var模式的组合.

请记住,它远离路径Nginx旨在驱动.

@H_365_5@map $upstream_http_LOCATIOn $redirect_uri {
    "~http://[^/]+/(?Nginx-front.com;

    proxy_set_header Host "origin1.com";
    proxy_redirect http://origin1.com/ /;

    LOCATIOn ~ ^/hls/(\w+)\.mp4\.m3u8${
        proxy_pass http://origin/m3ugen/segsrc/$1.mp4;
        proxy_intercept_errors on;
        error_page 301 302 = @handler;    
    }

    LOCATIOn @handler {
        rewrite ^ /$redirect_uri break;
        proxy_pass http://origin;
    }

}

大佬总结

以上是大佬教程为你收集整理的Nginx 302重定向 – 内部解析全部内容,希望文章能够帮你解决Nginx 302重定向 – 内部解析所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:目前