在Google App Engine上使用webapp2的DomainRoute

问题描述 投票:0回答:1

我正在尝试使用webapp2的DomainRoute将请求路由到特定用户。 路由的定义如下所示:

app = webapp2.WSGIApplication([
                                DomainRoute("<subdomain>." + os.environ["HTTP_HOST"], [
                                    webapp2.Route('/',ClientHandler)]),
                            ('/', MainHandler)],
                            debug=True)

所有处理程序都存在,并且当前,我的ClientHandler应该吐出当前的子域,但是当我当前访问nosub.localhost:8090时,它甚至都无法到达服务器。 我需要编辑主机文件吗? 如果是这样,添加* .localhost这样的wildcart是否有效,以便任何子域都可以工作?

python google-app-engine routing subdomain webapp2
1个回答
1
投票

是的,您需要编辑主机文件whatever.localhost不会自动解析为127.0.0.1 。 或者,节省一些时间并使用xip.io。

但是,您的代码有一个严重的问题:您正在仅在第一个请求上运行的上下文中使用os.environ["HTTP_HOST"] 。 这意味着您将从第一个请求到应用程序中提取主机名,并将其用作该主机名和所有后续请求的基础名-绝对不是您想要的。 例如,如果您的应用实例的第一个用户来自subdomain.myapp.com ,则将为subdomain.subdomain.myapp.com设置路由。

© www.soinside.com 2019 - 2024. All rights reserved.