我正在一个具有多个子域级别的网站上工作。我需要使用 SSL 保护所有这些,并且我正在尝试确定正确的证书策略。
这是我需要保护的内容:
- foo.com
- www.foo.com
- city.state.foo.com 的任意组合。(这些是美国各州。)
我的理解是通配符证书只能涵盖一个“级别”的子域。根据 RFC 2818:
名称可能包含通配符 *,它被认为与任何单个域名组件或组件片段匹配。例如,*.a.com 匹配 foo.a.com 但不匹配 bar.foo.a.com。f*.com 匹配 foo.com 但不匹配 bar.com。
我认为我需要的是以下证书:
*.foo.com
, 这将匹配,例如,foo.com
,www.foo.com
。(虽然我不清楚自己是否*.a.com
匹配a.com
。)*.ny.foo.com
匹配new-york.ny.foo.com
,buffalo.ny.foo.com
等。一旦我们的网站扩展为所有州提供服务,我最终将需要 50 个这样的证书来匹配所有州。
我的问题是:
- 这个方案正确吗?在上面的场景中,如果用户访问
ca.foo.com
,他们会得到证书吗*.foo.com
?*.ca.foo.com
- 我如何确保用户将所有这些子域视为我们合法拥有的?例如,如果用户访问
foo.com
, thenmountain-view.ca.foo.com
和那些是不同的证书,他们会收到警告吗?有什么方法可以确保他们的浏览器这些证书共享同一个所有者?