当我不想要它时,自定义域http会重定向到https,为什么会这样做?

时间:2014-07-30 17:32:46

标签: google-app-engine

我正在尝试使用自定义域来使用不带SSL的Google App Engine 1.9.7

我完成了所有prerequisites;

  1. 使用正确的TXT记录验证域名。
  2. 使用正确的子域www在GAE Cloud Console中配置域。
  3. 应用程序部署在appspot.com域并且可以正常运行。
  4. 但是当我尝试到达http://www.customdomain.com时,会立即重定向到https://www.customdomain.com并收到以下错误:

    net::ERR_SSL_PROTOCOL_ERROR 
    

    我知道对于SSL,我需要设置证书。

    我没有将任何webapp模块配置为安全。

    我现在不想要SSL,我现在不需要它。

    我一遍又一遍地阅读说明后发现了这个小金块:

      

    多个域和子域可以指向同一个域   应用。您可以设计您的应用程序以对待它们或相同   以不同的方式处理每一个。

    这正是我想要做的,但我找不到有关如何实际执行此操作的任何信息?

    如何让它停止重定向到httphttps

2 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。你说" 我的任何webapp模块都没有配置为安全的。"如果是这样的话,抱歉,无法帮助您。

否则,问题的最可能原因是:A"安全:始终"处理程序部分中app.yaml中相应处理程序的标志。像这样:

handlers:
- url: /*
  secure: always

使用" secure:always"删除该行。官方Google文档here中的详细信息(表项"安全")。

如何遇到这个问题?我遇到了它,因为我从我的其他应用程序中复制了app.yaml,这些应用程序不需要在自定义域上运行,但总是需要SSL。

对于Django / Python GAE应用程序,顺便说一下,同样的问题是这样的:

handlers:
- url: /.*
  script: google.appengine.ext.django.main.app
  secure: always

这里的答案相同:删除或更改"安全"线。 Python版本刚刚按照描述进行测试。始终在appspot.com域上运行,只在自定义域上没有安全标志。

只是指出上面的内容,因为其他人可能会遇到这个问题而来到这个威胁寻求帮助。

答案 1 :(得分:0)

我必须做的是关闭所有实例并删除所有版本,然后从头开始进行全新部署,然后我就停止了这个问题。