2012-08-09 67 views
3

我使用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 

回答

4

IP地址解析是否来自CNAME或DNS条目对证书名称验证没有影响。

重要的是,您在URL中请求的名称与证书中的某个条目相匹配。

简而言之,如果证书具有主题备用名称条目,则其中一个必须与您请求的主机名称匹配;如果没有SAN DNS条目,则主题DN的公用名称(CN)必须与主机名称匹配。

+0

感谢您的回应,布鲁诺。这是否意味着通配符SSL不能与CNAME一起使用,因为常用名称是* .mydomain.com? – Raj 2012-08-09 20:27:44

+0

这完全不是我说的:CNAME和通配符根本就没有关系。如果您没有任何SAN,并且CN是'* .mydomain.com',则可以使用https:// something.mydomain.com。 – Bruno 2012-08-09 20:30:46

+0

东西不加起来。我有一个颁发给* .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