我正在使用Amazon EC2 ELB并遵循他们建议使用CNAME来引用ELB的公共DNS:
$ nslookup qa.mydomain.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
qa.mydomain.com canonical name = mydomain-20530xxxx.us-west-1.elb.amazonaws.com.
Name: mydomain-20530xxxx.us-west-1.elb.amazonaws.com
Address: 50.18.xxx.yyy
我购买了通配符SSL证书以保护我的所有子域名。因此,证书是为*.mydomain.com
颁发的。但是,当我访问qa.mydomain.com
时,所有浏览器都在尖叫安全性。当我尝试访问https://qa.mydomain.com时,Google Chrome上的消息是:
Chrome说:您试图访问mydomain-20530xxxx.us-west-1.elb.amazonaws.com,但实际上您已经到达了一个服务器,将自己标识为* .mydomain.com。这可能是由于服务器上的配置错误或更严重的原因造成的。
我是以错误的方式去做的吗? CNAME的使用是否与PKI / SSL基本不兼容?我有什么选择?
感谢。
PS:以下是在地址dig
上执行qa.mydomain.com
的报告。显然,为了安全起见,实际的域名和结果已被屏蔽。
$ dig qa.mydomain.com
; <<>> DiG 9.8.1-P1 <<>> qa.mydomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 961
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;qa.mydomain.com. IN A
;; ANSWER SECTION:
qa.mydomain.com. 1670 IN CNAME mydomain-205300xxxx.us-west-1.elb.amazonaws.com.
mydomain-205300xxxx.us-west-1.elb.amazonaws.com. 60 IN A 50.18.xxx.yyy
;; Query time: 105 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Aug 9 14:05:31 2012
;; MSG SIZE rcvd: 121
答案 0 :(得分:4)
IP地址解析是来自CNAME还是A DNS条目对证书名称验证没有影响。
重要的是,您在URL中请求的名称与证书中的一个条目匹配。
简而言之,如果证书具有“主题备用名称”条目,则其中一个必须与您请求的主机名匹配;如果没有SAN DNS条目,则主题DN的公用名(CN)必须与主机名匹配。