我正在开发一个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证书,所以请在新手能够理解的水平上回答。
答案 0 :(得分:4)
最重要的一点是,您需要证书才能匹配用户请求的主机名(即使在重定向后)。为了能够同时提供www.example.com
和example.com
,您需要一个包含主题备用名称(SAN)条目的证书。
您不必指定子域,但这取决于CA为您发布的内容。有些人会很乐意签发带有两个SAN条目的证书(有和没有www),在某些情况下无需额外费用。
如果您希望提供https://example.com
以上的所有内容,那很好,但如果您的证书没有www.example.com
的SAN,则初始连接到https://www.example.com
(重定向之前)将导致客户端证书错误。因此,拥有两者都很有用。
答案 1 :(得分:1)
您确实可以使用主域而不是子域。当您拥有庞大的基础架构以在许多服务器之间分配服务时,使用子域可能会很有趣。
我的规范域名是经过认证的域名,我按照您的方式重定向请求。
因此,它取决于您的提供商设置的管理界面,但理论上您可以在现有域上进行设置。