通配符SSL和CNAME
问题描述:
我使用Amazon EC2的ELB并按照他们的使用CNAME来指代ELB的公共DNS的建议:通配符SSL和CNAME
$ 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时:
Chrome说:您试图访问mydomain-20530xxxx.us-west-1.elb.amazonaws.com,但是实际上您确实已到达识别自身的服务器如* .mydomain.com。这可能是由于服务器上的配置错误或更严重的原因造成的。
我是否正在错误地进行操作? CNAME的使用是否与PKI/SSL基本不兼容?我有什么选择?
谢谢。
PS:以下是关于地址: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
答
IP地址解析是否来自CNAME或DNS条目对证书名称验证没有影响。
重要的是,您在URL中请求的名称与证书中的某个条目相匹配。
简而言之,如果证书具有主题备用名称条目,则其中一个必须与您请求的主机名称匹配;如果没有SAN DNS条目,则主题DN的公用名称(CN)必须与主机名称匹配。
感谢您的回应,布鲁诺。这是否意味着通配符SSL不能与CNAME一起使用,因为常用名称是* .mydomain.com? – Raj 2012-08-09 20:27:44
这完全不是我说的:CNAME和通配符根本就没有关系。如果您没有任何SAN,并且CN是'* .mydomain.com',则可以使用https:// something.mydomain.com。 – Bruno 2012-08-09 20:30:46
东西不加起来。我有一个颁发给* .mydomain.com的证书。我有CNAME映射到我的亚马逊提供的名称。当我访问https://qa.mydomain.com时,Safari和Google Chrome都给我一个错误的证书。 Chrome说:你试图到达rmydomain-20530xxxx.us-west-1.elb.amazonaws.com,但实际上你到达了一个标识自己为* .mydomain.com的服务器。这可能是由服务器上的配置错误或更严重的原因导致的...... – Raj 2012-08-09 20:34:24