如果我不使用www,我会证明哪个子域名?

时间:2012-02-07 15:38:05

标签: .htaccess ssl subdomain

我正在开发一个Javascript应用程序,我将在Facebook上查看。 Facebook要求我在我的服务器上设置一个特殊目录,该目录将提供相关的PHP和Javascript代码。我叫/canvas

他们还要求使用https建立连接。好的,好的,所以我正在考虑购买SSL证书。

我在.htaccess文件中使用以下代码,以便人们无需键入“WWW”即可访问我的域名:

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

所以我假设我要发送Facebook的网址是https://mydomain.com/canvas

但我有点困惑,因为在购买SSL证书时,我需要指定一个子域。

有没有办法指定它,以便没有“www”的“mydomain.com”是应用SSL证书的地方?

或者那是不可取的?我应该为安全交易留出特殊的子域吗?像https://secure.mydomain.com

这样的东西

我之前从未使用过SSL证书,所以请在新手能够理解的水平上回答。

2 个答案:

答案 0 :(得分:4)

最重要的一点是,您需要证书才能匹配用户请求的主机名(即使在重定向后)。为了能够同时提供www.example.comexample.com,您需要一个包含主题备用名称(SAN)条目的证书。

您不必指定子域,但这取决于CA为您发布的内容。有些人会很乐意签发带有两个SAN条目的证书(有和没有www),在某些情况下无需额外费用。

如果您希望提供https://example.com以上的所有内容,那很好,但如果您的证书没有www.example.com的SAN,则初始连接到https://www.example.com(重定向之前)将导致客户端证书错误。因此,拥有两者都很有用。

答案 1 :(得分:1)

您确实可以使用主域而不是子域。当您拥有庞大的基础架构以在许多服务器之间分配服务时,使用子域可能会很有趣。

我的规范域名是经过认证的域名,我按照您的方式重定向请求。

因此,它取决于您的提供商设置的管理界面,但理论上您可以在现有域上进行设置。