这两天一直在整域名的事,走了很多弯路,折腾的很,搞的很郁闷啊!本来想在godaddy上申请购买www.easydone.com的域名,godaddy也提示域名没被占用,可以购买,但是点击加入购物车的时候,又弹出一堆单词,大意是说他们的商务代表会随后跟我联系,跟他们谈过之后才可以买,真他妈蛋疼!这种情况,以前从没遇到过,估计遇到过这种情况的人也很少吧……最后还是放弃了,退而求其次,只好在国内的买了,结果国内还没有卖www.easydone.com这个域名的,只有cn了,对比了各家之后,大概算了一下,长期购买还是万网便宜一些。于是,就在万网搞了!
买了域名之后,接下来要做的就是把OpenShift的二级域名绑定为新域名了,由于之前没接触过,就网上搜资料,搜到一篇教程,大概流程就是用SSH登录OpenShift空间(SSH登录OpenShift空间也是要证书的,用Xshell生成证书,然后添加内容到OpenShift后台即可),生成证书,然后上传到OpenShift后台,然后在设置alias别名。由于众所周知的原因,国内SSH登录OpenShift空间非常卡,甚至经常登录不了,所以虽然教程看起来不复杂,但是依然很折腾,搞的很郁闷!最后绑定域名后,登录OpenShift后台,我才发现原来特么的根本不用这么折腾,在OpenShift后台本来就用添加别名的按钮,直接点击,把新域名填上就可以了……
然后就是搞域名解析和CDN加速了。本来域名解析我是选了DNSPOD,CDN选了Incapsula的,搞了一半,突然想起来了百度加速乐,结果就贱兮兮地把DNSPOD抛在一边,用了百度加速乐和Incapsula的方案。这两部做完之后,访问网站,发现图片都不见了,点击任何一篇文章,又会自动跳转到原来的二级域名下,又经过一番折腾,发现WordPress后台没有把域名改过来,而且域名一定要加上http!紧接着又遇到另外一个问题,由于WordPress默认admin文件夹被强制加了SSL认证,但是免费版的Incapsula是不提供SSL证书的,于是又SSH进入OpenShift空间,修改了wp-config.php,把admin文件夹的SSL认证参数改成了false,然后访问就没问题了。
由于加速乐除了域名解析外,也有CDN的功能,这部分与Incapsula功能是重复的,但是加速乐需要备案。加速乐有审核,在审核通过之前,一切都看起来很完美,我试着ping了一下,结果延时降到了不到200,心里美滋滋的。但是加速乐审核完成后,貌似这时候才开启了加速乐的CDN缓存,我猜想可能加速乐的CDN和Incapsula的CDN冲突了,反正最终的结果就是网站直接400了。
这时候,我慌了……于是我又删除了在加速乐上添加的域名,换回了DNSPOD的解析,与此同时还要回到万网修改DNS,修改DNS生效时间也比较长,接下来就是等了。结果等了一天,我ping新域名www.easydone.cn,已经获取到了Incapsula提供的IP,说明解析已经生效,但是网站怎么还是400啊?起初我猜测可能是加速乐的缓存,很快我否定了这个设想,因为我已经在加速乐上删除了添加的域名,新解析生效后,与加速乐没有任何关系了!于是我试了很多方法,都搞不定,心里很烦躁!
这时候,只好使出杀手锏了!我直接越过Incapsula即CDN,把原先的二级域名作为CNAME添加到DNSPOD,直接解析到新域名www.easydone.cn,然后惊喜的发现,正常访问了!很显然,问题出在了Incapsula上,加速乐的缓存和Incapsula的缓存冲突了!于是,我进入Incapsula后台删除了域名之后重新添加,再到DNSPOD重新解析Incapsula提供的新IP和CNAME。最终,完美解决!