web-dev-qa-db-fra.com

https uniquement dans le moteur d'application Google

Je suis sur un projet de moteur d'application Google maintenant. Dans mon application, je ne dois autoriser que le protocole https. Et je dois restreindre d'autres protocoles. Il ne devrait autoriser que https. J'ai ajouté le code ci-dessous dans web.xml.

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Protected Area</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

Mais après le déploiement, cela fonctionne sur les deux protocoles (http et https). Comment restreindre http? 

31
DonX

Il est possible de configurer les gestionnaires individuels pour qu'ils requièrent HTTPS dans le fichier app.yaml du dossier WEB-INF, comme décrit ci-après: Configuration de l'application Java à l'aide de app.yaml - Google App Engine .

Il vous suffit d'ajouter ces deux mots à votre fichier app.yaml sous l'entrée url appropriée:
secure: always

Par exemple:

- url: .*
  script: main.app
  secure: always

Ensuite, si un utilisateur tente d'accéder à l'URL avec HTTP, il sera automatiquement redirigé vers HTTPS. Plutôt cool.

51
zengabor

Si vous souhaitez utiliser "web.xml" plutôt que l'option "app.yaml" (qui écrasera vos fichiers web.xml et appengine-web.xml au moment du déploiement), vous pouvez ajouter:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>everything</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

Référence: https://cloud.google.com/appengine/docs/Java/config/webxml#Security_and_Authentication

14
Jeff Peiffer

Utilisez-vous votre propre domaine? Actuellement, GAE prend en charge SSL pour les domaines * .appspot.com only . Ils supportent prometteuse / SSL depuis quelques temps déjà et nous attendons tous des nouvelles à ce sujet.

4
YKS

Ceci est pour les futurs gens !!! 

  1. En Java l'ajout du code ci-dessous dans mon fichier web.xml a fonctionné pour moi 

    <security-constraint>
       <web-resource-collection>
          <web-resource-name>HTTPS redirect</web-resource-name>
          <url-pattern>/*</url-pattern>
       </web-resource-collection>
       <user-data-constraint>
          <transport-guarantee>CONFIDENTIAL</transport-guarantee>
       </user-data-constraint>
    </security-constraint>
    
  2. Pour un autre projet, ajoutez secure: always sous toutes les URL du fichier app.yaml

1
Kanishk Gupta

Ajoutez ceci à votre fichier web.xml

<security-constraint>
        <web-resource-collection>
            <web-resource-name>all</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
0
Palsri