2017-09-27 1 views
2

J'ai une application Web utilisant un domaine personnalisé. Ce domaine a un enregistrement mappé à 151.101.1.195 et 151.101.65.195.Comment cibler la racine du domaine dans une règle d'en-tête d'hébergement Firebase

Tout fonctionne correctement, mais quand je l'ai firebase.json comme ceci:

{ 
    "hosting": { 
    "public": "dist", 
    "headers": [{ 
     "source": "**/*.html", 
     "headers": [{ 
     "key": "Cache-Control", 
     "value": "private, max-age=0, no-cache" 
     }] 
    }] 
    } 
} 

Je vois encore les en-têtes de réponse comme ça quand je visite https://mycustomdomain.com:

accept-ranges:bytes 
cache-control:max-age=3600 
content-encoding:gzip 
content-length:839 
content-type:text/html; charset=utf-8 
date:Wed, 27 Sep 2017 06:54:58 GMT 
etag:"f0b36e6c2a348eb46d07907fea856e9a" 
last-modified:Wed, 27 Sep 2017 06:53:07 GMT 
server:nginx 
status:200 
strict-transport-security:max-age=31556926 
vary:Accept-Encoding 
via:1.1 varnish 
x-cache:HIT 
x-cache-hits:2 
x-powered-by:Express 
x-served-by:cache-bma7024-BMA 
x-timer:S1506495298.256593,VS0,VE0 

Je pense que le contrôle du cache en-tête à modifier, mais cela ne change pas. Comment puis-je modifier les en-têtes de réponse pour la racine du domaine?

Répondre

0

Pour tous ceux qui cherchent, je fini par le faire comme ça, et il semble fonctionner:

{ 
    "hosting": { 
    "public": "dist", 
    "headers": [ 
     { 
     "source": "/", 
     "headers": [{ 
      "key": "Cache-Control", 
      "value": "private, max-age=0, no-cache" 
     }] 
     }, 
     { 
     "source": "**/*", 
     "headers": [{ 
      "key": "Cache-Control", 
      "value": "private, max-age=0, no-cache" 
     }] 
     }, 
     { 
     "source": "**/*.js", 
     "headers": [{ 
      "key": "Cache-Control", 
      "value": "max-age=31536000" 
     }] 
     }, 
     { 
     "source": "**/*.css", 
     "headers": [{ 
      "key": "Cache-Control", 
      "value": "max-age=31536000" 
     }] 
     }, 
     { 
     "source": "**/*.jpg", 
     "headers": [{ 
      "key": "Cache-Control", 
      "value": "max-age=31536000" 
     }] 
     }, 
     { 
     "source": "**/*.png", 
     "headers": [{ 
      "key": "Cache-Control", 
      "value": "max-age=31536000" 
     }] 
     } 
    ], 
    "rewrites": [ 
     { "source": "/api/1/mina", "function": "mydata" }, 
     { "source": "**", "destination": "/index.html" } 
     ] 
    } 
} 

Cela fonctionne également avec des fonctions. Notez que les fichiers .js sont également mis en cache agressivement, car nous utilisons des URL de contournement du cache.