我正在使用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
1 回答
IP地址解析是来自CNAME还是A DNS条目对证书名称验证没有影响 .
重要的是,您在URL中请求的名称与证书中的一个条目匹配 .
简而言之,如果证书具有主题备用名称条目,则其中一个必须与您请求的主机名匹配;如果没有SAN DNS条目,则主题DN的公用名(CN)必须与主机名匹配 .