1

Actuellement, j'utilise nodejs App Engine (environnement flexible) pour effectuer des tâches planifiées, telles que l'arrêt et le démarrage d'instances ou la création de shapshots. Le problème est que ces moteurs d'applications sont accessibles de partout, mais je veux seulement qu'ils soient accessibles au sein de mon réseau Google Cloud. Je n'arrive pas vraiment à faire fonctionner le pare-feu de cette façon. Est-ce que quelqu'un sait s'il existe ou non un moyen de le faire?Comment autoriser uniquement les requêtes internes (cron) dans mon App Engine

+0

serait-il suffisant pour vous d'obtenir le Cron Jobs? –

Répondre

3

Pour que les tâches cron soient activées uniquement dans Google Cloud Network, vous pouvez vérifier l'en-tête X-Appengine-Cron: true d'une demande et l'adresse IP du client est 0.1.0.1.

De documentation:

Vous pouvez valider que les demandes à vos URL de Cron viennent App Engine et non d'une autre source. Vous pouvez le faire en la validation d'un en-tête HTTP et l'adresse IP source pour la demande:

  • Les demandes du service Cron contiendra également un en-tête HTTP:

    X-Appengine-Cron: true

L'en-tête X-Appengine-Cron est défini en interne par Google App Engine. Si votre gestionnaire de requêtes trouve cet en-tête, il peut croire que la requête est une requête cron. Les en-têtes X sont supprimés par App Engine lorsqu'ils proviennent de sources externes afin que vous puissiez approuver cet en-tête .

  • Google App Engine questions demandes Cron depuis l'adresse IP 0.1.0.1