我有我的网站与Elastic Beanstalk(作为VirtualHost): http : //apptic.us-east-1.elasticbeanstalk.com/apptic/
我也有我的域在Namecheap:apptic.me
我已经为Elastic Load Balancer安装了SSL证书,理想情况下我想使用HTTPS。 但我真正担心的是,对于非www的HTTPS,该网站不会将https://apptic.meredirect到https://www.apptic.me – 它无法显示任何内容 。
我敢肯定,我的DNS设置有问题,而不是我的Elastic Beanstalkconfiguration,但我愿意提供build议。 该网站正确redirecthttp://apptic.me ,它运行http://www.apptic.me而不redirect到HTTPS(不是我的一个巨大的关注)。
我目前的DNS设置如下:
CNAME Record: www => apptic.us-east-1.elasticbeanstalk.com. URL Redirect Record: @ => https://www.apptic.me/
如何更改我的DNS设置,以便所有HTTP / HTTPS和非www / www的排列转到https://www.apptic.me ? 我甚至会好起来,如果http://apptic.me去http://www.apptic.me和https://apptic.me去https://www.apptic.me 。
这不是DNS问题,因为根据DNS标准, CNAME顶点别名不合法。
“URLredirectlogging”function是Namecheap软件实现的自定义行为。 在后台,它会为Web服务器定义一条Alogging,为您执行redirect。
相关的Web服务器不在端口443(https)上进行侦听,因此redirect失败。
$ dig +short apptic.me 162.255.119.250 $ nc -zv 162.255.119.250 443 nc: connect to 162.255.119.250 port 443 (tcp) failed: Connection refused
这几乎肯定是由于https的限制,大多数浏览器希望SSL证书在发送主机头之前显示网站的名称。 Namecheap在这里没有什么可做的,除非他们愿意将IP地址用于redirect,并将SSL证书与您提供的SSL证书相关联。 另一种方法是让他们使用伪造的SSL证书来生成安全警告,而不是处理他们似乎已经select不听443端口。
简而言之,这是redirectweb服务器的限制,限制不太可能被修复,并且没有处理这个问题的DNS快捷方式 。 一个无缝的httpsredirect将需要一个有效的,签名的SSL证书的专用HTTPSnetworking服务器。 一旦有了,请将您的apex Alogging设置为其IP地址。
处理这个问题的正确方法不在DNSlogging中。 您应该使用Route 53并将您的域设置为AWS提供的自定义名称服务器。 这是我遵循的教程: https : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html
我也写了一篇关于这个的博客文章: https : //www.apptic.me/blog/using-custom-domains-with-elastic-beanstalk.php