根据Firebase Hosting docs,我应该能够在从服务器收到的响应中设置自定义标头。我试图在所有html文件上设置X-Frame-Options
标头,但服务器根本不想发送此标头!这是我的firebase.json文件,如果我做错了,请告诉我:
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"headers": [
{
"source": "**/*.html",
"headers": [
{
"key": "X-Frame-Options",
"value": "SAMEORIGIN"
}
]
}
]
}
}
答案 0 :(得分:1)
经过大量的反复试验,我发现了这个问题。这一切都是在我尝试使用https://my-project.firebaseapp.com
加载index.html时 - 这显然不会触发标头。我必须在网址末尾明确添加/index.html
才能使其正常运行:https://my-project.firebaseapp.com/index.html
。我不应该这样做,但这就是问题所在。所以问题仍然存在 - 如何让firebase配置与隐含的index.html
匹配。
答案 1 :(得分:1)
在同一问题上,我经历了很多试验和错误。我注意到firebase documentation中有一小段:
“托管”与原始请求路径匹配的源值,不管任何重写规则。
如果您的设置类似于我的设置,则可能在firebase.json文件中有此设置:
"rewrites": [{
"source": "**",
"destination": "/index.html"
}]
但是,尽管您可能返回index.html,但是原始请求路径只是“ /”,因此在标头部分使用以下代码:
"source": "/"
这对我有用。