小编Dak*_*ser的帖子

Nginx 302 重定向 - 内部解决

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

http://origin1.example.com/m3ugen/segsrc/jet480.mp4
Run Code Online (Sandbox Code Playgroud)

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

http://origin1.example.com/Segments/HLS_TS/segsrc/jet480.mp4-20140831-142558.m3u8`
Run Code Online (Sandbox Code Playgroud)

这对我们来说是个问题,我们希望让 Nginx 处理这个问题,以便更加用户友好,并与一些不处理 302 重定向的播放器一起工作。

我们想要的是:

  1. 用户请求http://frontend.example.com/hls/jet480.mp4.m3u8并由 nginx 接收。

  2. Nginx 向 http://origin1.example.com/m3ugen/segsrc/jet480.mp4

  3. Nginx 接收重定向代码 302 http://origin1.example.com/Segments/HLS_TS/segsrc/jet480.mp4-20140831-142558.m3u8

  4. Nginxhttp://origin1.example.com/Segments/HLS_TS/segsrc/jet480.mp4-20140831-142558.m3u8直接向用户发出请求并将响应提供给用户,无需任何 302 重定向。

我认为这可以用 Nginx 来完成,但我们对此没有太多经验。任何帮助将不胜感激。

PD 我们无法配置源服务器。它使用 Helix Server,当提供 m3u8 播放列表时,它会添加一个时间戳,每个文件都会发生变化。

nginx redirect

8
推荐指数
1
解决办法
3万
查看次数

Nginx 不处理 proxy_hide_header 和 proxy_ignore_header 指令

我在尝试让 Nginx 忽略并隐藏代理服务器的一些标头时遇到了麻烦。

我希望 Nginx 隐藏并忽略“Cache-Control”和“Server”标头,但它不起作用,我不知道为什么。

我的配置如下:

location / {
    proxy_pass http://111.131.50.42;
    proxy_hide_header Cache-Control;
    expires 60M;
    add_header Cache-Control "public";
    proxy_ignore_headers Cache-Control;
    proxy_hide_header Cache-Control;
    access_log off;
}
Run Code Online (Sandbox Code Playgroud)

但即便如此,我仍然收到原始“Cache-Control”和“Server”标头。

你知道我做错了什么吗?

PS 我不能使用 ngx_headers_more 模块。我无法将此模块添加到我们的 Nginx 安装中。

nginx cache http-headers

7
推荐指数
1
解决办法
3万
查看次数

标签 统计

nginx ×2

cache ×1

http-headers ×1

redirect ×1