Firebase 托管不发送自定义 HTTP headers
Firebase hosting does not send custom HTTP headers
根据 Firebase Hosting docs,我应该能够对从服务器收到的响应设置自定义 header。我试图在所有 html 文件上设置 X-Frame-Options
header,但服务器根本不想发送这个 header!这是我的 firebase.json 文件,如果我做错了什么请告诉我:
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"headers": [
{
"source": "**/*.html",
"headers": [
{
"key": "X-Frame-Options",
"value": "SAMEORIGIN"
}
]
}
]
}
}
经过反复试验,我发现了问题所在。这一切都是在我尝试使用 https://my-project.firebaseapp.com
加载 index.html 时进行的 - 这显然不会触发 header。我必须在 URL 的末尾明确添加 /index.html
才能使其工作:https://my-project.firebaseapp.com/index.html
。我不应该这样做,但这就是问题所在。所以问题仍然存在 - 如何让 firebase 配置匹配隐含的 index.html
.
我刚刚在同一个问题上经历了很多反复试验。我注意到 firebase documentation:
中的一小部分
A source value that Hosting matches against the original request path, regardless of any rewrite rules.
如果您的设置与我的一样,您的 firebase.json 文件中可能有:
"rewrites": [{
"source": "**",
"destination": "/index.html"
}]
然而,虽然您可能会返回 index.html,但原始请求路径只是“/”,因此在您的 headers 部分使用此:
"source": "/"
这对我有用。
根据 Firebase Hosting docs,我应该能够对从服务器收到的响应设置自定义 header。我试图在所有 html 文件上设置 X-Frame-Options
header,但服务器根本不想发送这个 header!这是我的 firebase.json 文件,如果我做错了什么请告诉我:
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"headers": [
{
"source": "**/*.html",
"headers": [
{
"key": "X-Frame-Options",
"value": "SAMEORIGIN"
}
]
}
]
}
}
经过反复试验,我发现了问题所在。这一切都是在我尝试使用 https://my-project.firebaseapp.com
加载 index.html 时进行的 - 这显然不会触发 header。我必须在 URL 的末尾明确添加 /index.html
才能使其工作:https://my-project.firebaseapp.com/index.html
。我不应该这样做,但这就是问题所在。所以问题仍然存在 - 如何让 firebase 配置匹配隐含的 index.html
.
我刚刚在同一个问题上经历了很多反复试验。我注意到 firebase documentation:
中的一小部分A source value that Hosting matches against the original request path, regardless of any rewrite rules.
如果您的设置与我的一样,您的 firebase.json 文件中可能有:
"rewrites": [{
"source": "**",
"destination": "/index.html"
}]
然而,虽然您可能会返回 index.html,但原始请求路径只是“/”,因此在您的 headers 部分使用此:
"source": "/"
这对我有用。