Firebase托管域上针对特定静态文件的HTTP / 2错误500

时间:2019-04-08 23:15:15

标签: firebase firebase-hosting

我部署了一个Firebase应用程序,该应用程序包含一个功能和公共目录中的一系列静态文件,这些文件构成了网站本身。

firebase.json包含一个重定向规则和一个重写规则。

奇怪的是,在本地测试该功能时,我根本看不到任何问题,静态index.html文件加载了相应的css和js文件,它们存储在文件夹/assets下。

但是,当我在Firebase托管中部署应用程序时,该特定目录(/ assets)下的所有文件都返回一个HTTP/2 500,并带有指向它们自己的一些额外标头,例如location

除了功能(甚至没有被调用)之外,我看不到其他任何东西的日志,所以我无法解决此问题。

有什么主意吗?

curl使用其中一个CSS文件时,完整的HTTP响应如下:

< HTTP/2 500
< server: nginx
< content-type: text/html; charset=utf-8
< location: /assets/css/bootstrap.min.css
< etag: W/"2c-Fy5LxM6AQUiWl2dvoMk+v0DAv6s"
< fastly-restarts: 1
< accept-ranges: bytes
< date: Mon, 08 Apr 2019 10:31:34 GMT
< via: 1.1 varnish
< x-served-by: cache-lcy19235-LCY
< x-cache: MISS
< x-cache-hits: 0
< x-timer: S1554719494.752454,VS0,VE252
< vary: x-fh-requested-host
< content-length: 44
<
<!doctype html>
<html>
  <head>
* Connection #0 to host [REDACTED] left intact
    <title>U

这是在U之后被截断的完整响应。

1 个答案:

答案 0 :(得分:0)

当我找到问题所在时,让我回答自己,但我发现互联网上没有关于该特定问题的任何信息。

由于缺乏对Firebase的专业知识,我意识到我的重定向规则正在破坏应用程序,因为它正在将/assets下的所有文件重定向到自己,但是我没有得到重定向循环,而是这种奇怪的行为。

同样,本地操作没有问题,但是在部署时出现了HTTP/2 500错误。

这是规则,以防万一这有助于将来某人解决此特定问题:

"redirects":[
    {
        "source": "/assets/:path*",
         "destination": "/assets/:path",
    }
]