我们有一个网站:
www.feeltracker.com
这是在Google App Engine上运行的
在Google App Engine上,我们有Naked Domain转发设置,因此:
重定向到
但是,当我们尝试在Chrome中打开以下地址时:
https://feeltracker.com(注意HTTPS)
我们收到了一个Google错误页面,其中包含以下消息:
Google
404. That’s an error.
The requested URL / was not found on this server. That’s all we know.
有谁知道我们如何确保https://feeltracker.com重定向到www.feeltracker.com?
请注意,在Firefox中,我们在尝试打开https://feeltracker.com时会收到以下附加信息:
feeltracker.com uses an invalid security certificate.
The certificate is only valid for the following names:
*.google.com , *.android.com , *.appengine.google.com , *.cloud.google.com , *.google-analytics.com , *.google.ca , *.google.cl , *.google.co.in , *.google.co.jp , *.google.co.uk , *.google.com.ar , *.google.com.au , *.google.com.br , *.google.com.co , *.google.com.mx , *.google.com.tr , *.google.com.vn , *.google.de , *.google.es , *.google.fr , *.google.hu , *.google.it , *.google.nl , *.google.pl , *.google.pt , *.googleapis.cn , *.googlecommerce.com , *.gstatic.com , *.urchin.com , *.url.google.com , *.youtube-nocookie.com , *.youtube.com , *.youtubeeducation.com , *.ytimg.com , android.com , g.co , goo.gl , google-analytics.com , google.com , googlecommerce.com , urchin.com , youtu.be , youtube.com , youtubeeducation.com
(Error code: ssl_error_bad_cert_domain)
请注意,我们使用上传的证书在Google App Engine上使用SNI SSL证书功能 . 当我们通过http://www.digicert.com/help/运行SSL诊断时,我们得到以下信息:
Certificate does not match name feeltracker.com
Subject *.google.com
Valid from 02/Jul/2013 to 31/Oct/2013
Issuer Google Internet Authority
Subject Google Internet Authority
Valid from 12/Dec/2012 to 31/Dec/2013
Issuer Equifax
任何想法https://feeltracker.com无法使用正确的证书,而www.feeltracker.com和http://www.feeltracker.com与我们的SSL证书一样正常工作?
5 回答
显然,不支持在HTTPS上进行裸域重定向 . 在官方文档中没有提到这一点 . 如果您查看支持文档,您会在屏幕截图中看到裸体重定向特定于
http://
.从谷歌来看组线程,SSL裸域重定向是不可能的:here,here .
使用https://www.301redirect.it/免费进行任何http或https重定向 .
2015年9月16日更新
看来这可能现在按Forum post和Issue 10802工作
以下适用的信息如下......
目前它不受支持 . naked domain redirect是仅针对http的解决方法,您可能会注意到您需要在DNS中放置的特定IP地址与ghs.googlehosted.com的方法和IP地址不同 .
这似乎表明它是's different parts of Google'的基础设施,他们没有看到任何细节,他们什么时候解决这个问题,所以这可能是一个漫长的等待 . 例如Related post from 2009
Naked domain support有一个"acknowledged"问题,所以当这个问题得到解决时,这个问题也可能得到解决 .
由于Google无法在裸域重定向器上正确提供您的证书,因此现在我看到以下选项:
制作/提供您自己的反向代理(Apache httpd,varnish等)或使用反向代理服务(例如CloudFlare)并将您的裸域指向那里 . 您'd install your SSL on the reverse proxy, clients would connect there for your naked domain (no certificate errors) and you' d代理您真实网站的所有流量 . 根据您的使用情况,它可能会产生单点故障和成本 .
在安装Web服务器,证书和重定向脚本到https://www.feeltracker.com的地方租一个便宜的VPS . 在DNS中将您的裸域映射到该服务器 . 它可以是一个非常便宜的Linux服务器,因为重定向的要求非常低 .
查找支持https的域重定向服务,并允许您上传证书 . 可悲的是,我不知道 .
使用VIP(虚拟IP)SSL并在DNS中为您的裸域配置它 . 我没有测试过自己,但它似乎应该可以工作,虽然我确实找到了一个旧评论here它可能没有 . 有人测试过吗?但请注意,据我所知,DNS条目的TTL仅为300(5分钟),谷歌不会很快发生变化 . 如果它确实有效,那么像DNSSimple这样的DNS提供商就有了API,所以它是可能的 .
可能第二个选项最适用于您的情况,因为您似乎并不介意裸域(对许多人来说这是一个问题) .
我最近找到了一个很好的例子:https://khanacademy.org/他们似乎使用了上面第二个选项的Amazon EC2主机 .
截至2014年4月12日,Google似乎取得了一些进展,现在允许映射非Google Apps域(请参阅issue 8517),尽管SSL似乎尚不适用于该方法(请参阅issue 10794进行跟踪) .
我找到的最好的免费SSL重定向服务是CloudFlare . 为了让它运作:
添加您的域并将您的名称服务器切换到CloudFlare(注册过程引导您完成它)
一旦添加了转到CloudFlare设置并向下添加到SSL . 将设置更改为'Full SSL (Strict)'这要求您在重定向到的子域上拥有有效的证书(SNI正常工作) .
返回您的网站列表,再次选择域以及选项转到页面规则 . 添加'Forwarding'规则,将
https://yourdomain.com/*
重定向到https://www.yourdomain.com/$1
(将www替换为任何子域),确保重定向设置为301 .保存设置并坐下来等待所有内容传播 .
完成 . 裸域的自由安全SSL重定向 .
GAE没有看到是GAE的限制,你没有做错任何事 . https://developers.google.com/appengine/kb/general#naked_domain