Web清单进入重定向循环

问题描述

我正在寻找使用PWA的潜力,但是当我将manifest.webmanifest放入重定向循环并导致浏览器返回“太多重定向错误”时,这是唯一的资源为此,我正在使用相同的方法加载其他资源,例如CSS,JS,图像,Favicon,robots.txt,但没有出现问题

服务器正在使用HTTPS和HTTP / 2在localhost:8080上运行

Chrome DevTools控制台显示
GET https://localhost:8080/manifest.webmanifest net::ERR_TOO_MANY_REDIRECTS

<head>
    <Meta charset="utf-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
    <title>Title</title>
    <Meta name="description" content="Meta Description">
    <link rel="manifest" href="/manifest.webmanifest">
    <link rel="stylesheet" href="/assets/uikit-3.5.9/css/uikit.min.css">
    <link rel="stylesheet" href="/assets/css/app.min.css">
</head>

清单文件本身由使用大猩猩Mux用Go语言编写的Web服务器提供服务

r.PathPrefix("/manifest.webmanifest").Handler(http.FileServer(http.Dir(os.Getenv("PUBLIC_ROOT"))))

我也尝试过使用HandleFunc构造和服务清单,但这也会导致重定向循环。

如果我直接在浏览器中导航到清单,它将成功成功加载(Chrome开发工具中不会显示任何重定向

manifest.webmanifest when navigated directly

下面是浏览网站时chrome开发工具的屏幕截图

Chrome Dev Tools

解决方法

不确定如何或为什么,但是问题似乎出在会话中间件中,其中针对Webmanifest链接设置了Cookie

通过从会话管理器中排除清单的URL,问题已消失