web-dev-qa-db-ja.com

Google App Engineでのみhttps

現在Google App Engineプロジェクトに参加しています。私のアプリケーションでは、httpsプロトコルのみを許可する必要があります。そして、私は他のプロトコルを制限しなければなりません。 httpsのみを許可する必要があります。以下のコードを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>

ただし、デプロイ後は両方のプロトコル(httpおよびhttps)で機能します。 httpを制限する方法は?

32
DonX

ここで説明するように、WEB-INFフォルダーのapp.yamlファイルでHTTPSを要求するように個々のハンドラーを構成することは可能です app.yamlを使用したJavaアプリケーション構成-Google App Engine

これら2つの単語をapp.yamlファイルの適切なurlエントリの下に追加するだけです。
secure: always

例えば:

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

次に、ユーザーがHTTPでURLにアクセスしようとすると、自動的にHTTPSにリダイレクトされます。かなりクール。

52
zengabor

「app.yaml」オプション(デプロイ時にweb.xmlとappengine-web.xmlファイルを上書きする)を使用するのではなく、「web.xml」を使い続けたい場合は、以下を追加できます。

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

リファレンス: https://cloud.google.com/appengine/docs/Java/config/webxml#Security_and_Authentication

14
Jeff Peiffer

独自のドメインを使用していますか?現在、GAEは* .appspot.comドメインのSSLをサポートしています only 。それらは 有望 非appspotドメインのSSLサポートをしばらくの間してきました、そして私たちは皆その前のニュースを待っています。

4
YKS

これは将来の人々のためです!!!

  1. Javaの場合web.xmlファイルに以下のコードを追加するとうまくいきました

    <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. 他のプロジェクトの場合、secure: alwaysファイルのすべてのURLの下にapp.yamlを追加します

1
Kanishk Gupta

これを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