4

app.yaml で、アプリ内のすべての URL エンドポイントに対して常に secure: を指定しなくても、http 上のアプリへのすべてのリクエストが https にリダイレクトされるようにすることは可能ですか。

現在、私はこれをやっています:

url: /users/login
script: users_handler.app
secure: always

url: /signin
script: authentication.app
secure: always

url: /users/logout
script: users_handler.app
secure: always

しかし、新しい URL が追加されると、開発者が secure always を指定するのを忘れる可能性があるため、危険です。アプリ内のすべての URL に適用されるグローバル設定を指定したいだけです。

4

3 に答える 3

1

app.yaml で secure を使用したくない場合は、webapp2 でこれを実現できます。 https://webapp2.readthedocs.io/en/latest/guide/routing.html#restricting-uri-schemes

そして、ここに実際のコード例があります: WSGI を使用してユーザーを http から https に再ルーティングする方法

于 2012-10-11T19:50:40.260 に答える
-1

私はそれが可能だとは思わない。ただし、app.yamlで定義したURLを再構築することで、問題を軽減できると思います。

URLは、上から順にapp.yamlのハンドラーと照合されます。したがって、1回限りのURLを指定してから、下部に、他の設定と一致しなかったすべてのURLをデフォルトのハンドラーにルーティングするキャッチオール設定を設定する必要があります。次に、アプリケーションは、アプリケーションに存在しないURLに対して404ページなどを表示する必要があります。

このようなものが機能します:

- url: /signin
  script: authentication.app
  secure: always

- url: /.*
  script: users_handler.app
  secure: always

このように、アプリケーションにいくつかのハンドラーを指定するだけで、新しいURLまたは設定を追加するときに常に安全な設定を見逃す可能性がはるかに低くなります。

お役に立てば幸いです。

于 2012-10-11T08:25:52.710 に答える