wake-up-neo.com

https nur in google app engine

Ich bin jetzt in einem Google-App-Engine-Projekt. In meiner Anwendung muss ich nur das https-Protokoll zulassen. Und ich muss andere Protokolle einschränken. Es sollte nur https zulassen. Ich habe den folgenden Code in web.xml hinzugefügt.

<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>

Nach der Bereitstellung funktioniert es jedoch für beide Protokolle (http und https). Wie kann ich http einschränken? 

31
DonX

Es ist möglich, die einzelnen Handler so zu konfigurieren, dass HTTPS in der Datei app.yaml im Ordner WEB-INF erforderlich ist, wie hier beschrieben: Java-Anwendungskonfiguration mithilfe von app.yaml - Google App Engine .

Sie müssen nur diese beiden Wörter zu Ihrer app.yaml-Datei unter dem entsprechenden url-Eintrag hinzufügen:
secure: always

Zum Beispiel:

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

Wenn ein Benutzer versucht, mit HTTP auf die URL zuzugreifen, wird er automatisch zu HTTPS umgeleitet. Ziemlich cool.

51
zengabor

Wenn Sie bei "web.xml" bleiben möchten, anstatt die Option "app.yaml" zu verwenden (wodurch Ihre Dateien "web.xml" und "appengine-web.xml" zum Zeitpunkt der Bereitstellung überschrieben werden), können Sie Folgendes hinzufügen:

<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>

Referenz: https://cloud.google.com/appengine/docs/Java/config/webxml#Security_and_Authentication

14
Jeff Peiffer

Benutzt du deine eigene Domain? Derzeit unterstützt GAE SSL für * .appspot.com-Domains only . Sie sind seit einiger Zeit vielversprechend SSL-Unterstützung für Nicht-Appspot-Domänen, und wir warten alle auf Neuigkeiten in dieser Hinsicht.

4
YKS

Dies ist für zukünftige Leute !!! 

  1. In Java Das Hinzufügen des Codes unten in meiner web.xml-Datei hat für mich funktioniert 

    <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. Für andere Projekte fügen Sie secure: always unter allen URLs in der app.yaml-Datei hinzu

1
Kanishk Gupta

Fügen Sie dies Ihrer web.xml-Datei hinzu

<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