将NameSilo上具有域的GAE Java应用程序设置为https默认

时间:2018-11-24 17:13:36

标签: google-app-engine https

我花了相当多的时间来找出大部分零件,但我被困在最后一块。我有一个GAE Java Web应用程序,其域名来自Namesilo,我通过启用托管安全性来启用了https,现在我可以使用https://和http://访问该域。

就像今天所有网上的应用程序一样,为了提高SEO,我想为我的域/应用程序设置https默认选项。

我尝试在Namesilo中将301永久转发到https://。但是,这将覆盖Namesilo中的CNAME和A记录,并且,转发到https也不起作用。我在网上找不到关于此的很多资料。

任何人都可以帮助或提供有关如何将具有Namesilo域的GAE Java应用程序设置为https默认值的提示。

2 个答案:

答案 0 :(得分:1)

在标准环境中,您可以使用appengine-web.xml文件中的<ssl-enabled> config选项来要求HTTPS,这会导致自动重定向。来自Syntax

<ssl-enabled>
     

可选。默认情况下,任何用户都可以使用HTTP或HTTP访问任何URL。   HTTPS。您可以将应用程序配置为在某些URL中要求HTTPS   部署描述符。参见Deployment Descriptor: Secure URLs

答案 1 :(得分:1)

丹给我指明了正确的方向。除了将ssl-enabled标记为true之外,我还必须通过其他StackOverflow答案之一(stackoverflow.com/questions/5367974/…

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