繁体   English   中英

Firebase托管域上的HTTP / 2错误500,用于特定的静态文件

[英]HTTP/2 error 500 on Firebase hosting domain for specific static files

我在公共目录中部署了一个Firebase应用程序,该应用程序包含一个函数和一堆静态文件,这些文件构建了站点本身。

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

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

但是当我在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之后被截断的完整响应。

让我回答自己,因为我发现问题是什么,但我在互联网上发现没有关于这个具体问题。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM