将webapp2中某些域的http重定向到https

2024-05-23 19:20:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我们将googleappengine名称空间用于多租户应用程序。每个租户都有不同的域。一些域需要启用ssl,但有些域不需要ssl。对于确实需要ssl的域,我希望所有旧的http链接重定向到它们的https等价物。在

如果我们在应用程序yaml,则不需要ssl的域(没有证书的域)将无法工作,因为所有请求都重定向到https。在

我假设我需要在webapp路由中处理到https的重定向,这取决于请求的域。 我已经尝试过这里概述的“app_scheme”方法How to use WSGI to reroute a user from http to https,但是如果通过http访问,它不能处理到https的重定向。在

有没有一种方法可以在不重写所有域路由的情况下处理重定向?在


Tags: to方法https名称应用程序httpsslyaml
1条回答
网友
1楼 · 发布于 2024-05-23 19:20:57

替代方法:您可以有两个应用程序,一个用于http域,一个用于https域,共享相同的应用程序代码,除了.yaml配置文件中的secure: always设置(可以通过简单的VCS repo分支策略实现)。无需重新编写规则。在

第一个应用程序是你当前的应用程序,没有改变,只服务于所有http域。在

第二个应用程序是现有应用程序的克隆,在app.yaml中添加了secure: always。它将服务于所有的https域。在

你需要从你的第一个应用程序的域映射中删除https域,并将它们放在第二个应用程序的域映射中。在

您可能还需要将与纯https域相关的任何数据存储数据复制/移动到第二个应用程序,因为尽管应用程序不能共享同一个数据存储(这两个应用程序之间可能共享云存储)。不是百分之百确定,我还没有尝试在不同的应用程序之间共享数据。在

相关问题 更多 >