跳到主要内容

如何使用通配符SSL证书

通配符SSL证书是一种SSL证书,允许您使用单个证书保护单个域下的多个子域。例如,如果您有一个包含多个子域的网站,如blog.example.com、shop.example.com和support.example.com,通配符SSL证书将仅用一个证书保护这些子域。 它的工作原理是证书的颁发使用了一个星号()代替子域名,作为通配符字符。这意味着该证书将覆盖任何符合模式的子域。因此,如果您拥有一个针对.example.com的通配符SSL证书,它将覆盖blog.example.com、shop.example.com、support.example.com以及任何其他符合模式的子域。 如果您想在您的托管账户上使用通配符SSL证书,使用mod_rewrite是最佳选择。然而,您可能会遇到WHM中的限制,仅允许一个虚拟主机配置。这可能会有些棘手,但请不要担心;本文将为您提供逐步指导。 在本指南结束时,您将更好地理解如何设置mod_rewrite并最大化您通配符SSL证书的效用。那么,让我们开始吧!

  • SAN证书和通配符证书之间有什么区别?
  • 文件结构
  • 我什么时候应该申请SSL通配符证书?
  • 如何使用通配符SSL证书
  • 通用mod_rewrite规则
  • WordPress/Drupal/Joomla mod_rewrite规则
  • 子域/DNS
  • SSL通配符证书是否适用于所有服务器和浏览器?
  • 我可以与所有子域名共享IP地址吗?
  • 总结

SAN证书和通配符证书之间有什么区别?

SAN(主题备用名称)证书和通配符证书都是用于通过加密服务器和客户端之间传输的数据来保护网站的SSL/TLS证书类型。然而,它们的用途不同,具有不同的特征:

SAN证书:

  • 目的。SAN证书旨在使用单个证书保护多个域名和子域。它们非常适合需要保护多种不遵循单一模式的域名的组织,例如www.example.com、mail.example.org和payment.example.net。
  • 灵活性。SAN证书的一个关键特性是其灵活性。您可以添加、删除或更改证书所覆盖的域名。这使其成为具有不断变化的安全需求的企业的多功能选项。
  • 使用案例。它们通常用于多个服务托管在不同域和子域的环境中,例如具有不同应用程序的企业环境。

通配符证书:

  • 目的。通配符证书用于保护一个域及其无限数量的一级子域,使用单个证书。例如,*.example.com的通配符证书可以保护www.example.com、mail.example.com、shop.example.com等。
  • 简单性。通配符证书为管理具有多个子域的单个域的网站提供了一种简单的方法。这比为每个子域获取单独的证书更具成本效益且更易于管理。
  • 限制。通配符证书的主要限制是它们仅覆盖颁发给它们的域的一级子域,并不支持保护多个不同的域名或二级子域(如*.sub.example.com)。

文件结构

关于文件结构的说明,子域必须分配给其父域分配的文件夹下的一个文件夹。由于子域的分配方式,容易将它们放置在父域文件夹之外。在这种情况下,您需要将域重新分配到父域下的一个文件夹。 **示例:**假设您有一个针对example.com的通配符SSL证书。example.com被分配到public_html文件夹。我想在sub.example.com上使用我的证书。在这种情况下,sub.example.com应该分配给public_html/sub/,因为sub是public_html下的一个目录。

我什么时候应该申请SSL通配符证书?

您应考虑在一些特定情况下申请SSL通配符证书,这些情况与您网站的需求和在线存在的结构相符。以下是一些通配符SSL证书将会带来好处的情况:

  • 多个子域。如果您的网站使用多个子域进行不同的功能或服务(如shop.example.com、blog.example.com和mail.example.com),通配符证书可以在一个主域下(例如,*.example.com)保护所有子域,从而简化您的SSL管理。
  • 不断增长的在线存在。对于计划扩展在线服务或未来添加更多子域的企业,通配符证书提供了保护新子域的灵活性,而无需购买和管理额外的SSL证书。
  • 成本效益。为每个子域管理多个SSL证书可能会很昂贵且管理负担重。通配符证书可能更具成本效益且更易于管理。
  • 管理便利性。使用一个通配符证书保护所有子域,您简化了续订过程,减少了管理开销,并消除了因续订被忽视而导致某些子域未受保护的风险。
  • 开发和测试环境。如果您为开发、暂存或测试目的维护单独的子域(如dev.example.com或test.example.com),通配符证书可以在不需要为每个环境单独证书的情况下保护这些子域。
  • SaaS平台。对于提供定制子域给用户的服务提供商(如customer1.service.com和customer2.service.com),通配符证书确保所有客户子域在一个保护之下。

如何使用通配符SSL证书

使用mod_rewrite的目的是操纵URL,使其更易读、用户友好且对搜索引擎友好。它是一个强大的工具,允许您根据各种条件使用正则表达式重写URL。 .htaccess文件位于父域的文件夹中。虽然您可以使用FTP或SSH客户端访问该文件,但我们将在本文中使用文件管理器。

  1. 在托管详情页面,单击文件管理器按钮。
    Bluehost Account Manager - Hosting Tab Details cPanel

  2. 在屏幕右上角寻找设置按钮。

  3. 从这里,单击首选项弹出窗口,并选中**显示隐藏文件(dotfiles)**的复选框。
    Preferences window with options to show hidden files and set web root directory for 'example.com'

  4. 向下滚动以从列表中找到.htaccess文件。

  5. 右键单击该文件,然后从菜单中单击编辑
    cpanel-file-manager-htaccess-right-click-edit

  6. 可能会弹出一个对话框询问编码;单击编辑按钮继续。编辑器将在新窗口中打开。

  7. 根据需要编辑文件。

  • 如果您有一个基本的HTML网站,请按照通用mod_rewrite规则部分的说明进行操作。
  • 如果您有一个WordPress、Joomla或Drupal网站,请按照WordPress/Joomla/Drupal mod_rewrite规则部分的说明进行操作。
  1. 单击保存更改

通用mod_rewrite规则

如果您有一个基本的HTML网站,请将以下文本复制到您的public_html/.htaccess文件中。 如果您有WordPress、Joomla或Drupal网站,请使用WordPress/Joomla/Drupal mod_rewrite规则部分的说明。您必须将subdomain替换为您的子域,将example.com替换为您的域名。

# .htaccess 通配符SSL
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^subdomain.example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]

修改此代码后,您应该清除浏览器缓存以查看重定向。

WordPress/Joomla/Drupal mod_rewrite规则

对于WordPress、Joomla或Drupal网站,请复制以下代码:

  • 如果仅子域持有WordPress、Joomla或Drupal网站
  • 如果父域不复制以下代码,如果您的子域持有WordPress、Joomla或Drupal网站。 您必须将subdomain替换为您的子域,将example.com替换为您的域名。
# 自定义子域 .htaccess SSL + WordPress
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
# 结束自定义子域 .htaccess
  • 如果父域有WordPress
  • 如果父域和子域都有WordPress、Joomla或Drupal网站,请将以下代码复制到您的.htaccess文件中。此代码将替换WordPress永久链接代码。 您必须将subdomain替换为您的子域,将example.com替换为您的域名。
# 自定义子域 .htaccess SSL + WordPress
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
# 结束自定义子域 .htaccess

# 自定义主域 .htaccess WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?maindomain.com$
RewriteRule ^index\.php$ - [L]
RewriteCond %{HTTP_HOST} ^(www.)?maindomain.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# 结束自定义主域 .htaccess

您可能需要清除浏览器缓存以应用新规则。之后,您的通配符SSL证书应该可以正常工作。

通配符子域或DNS

托管确实支持创建通配符DNS/子域。要创建它们,请按照以下步骤操作:

  1. 登录到您的账户。
  2. 单击子域图标,位于部分。
  3. 子域名称字段中,输入**"*"**字符。(Shift + 8)
  4. 文档根保持为默认设置。
  5. 选择创建

完成后,记录将添加到您域的DNS条目中。然后,您可以查找任何格式正确的子域并使其解析。 有时,子域可能需要几个小时才能传播。 如果您想为此子域创建重定向,以便每个子域都重定向到www,例如,您可以修改以下代码行并将其插入到public_html/wildcard文件夹中的.htaccess文件中。

RewriteEngine on
RewriteBase /
# 对于所有请求在mydomain.com上
RewriteCond %{HTTP_HOST} mydomain\.com$ [NC]
# 如果它们不是针对www.mydomain.com
RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC]
# 301重定向到www.mydomain.com
RewriteRule (.*) http://www.mydomain.com/$1 [R=301,L]

您可以使用文件管理器编辑.htaccess文件。要访问文件管理器,请转到面板,向下滚动到文件部分,然后单击文件管理器。选择Web根目录和显示隐藏文件的选项,然后按转到。一旦您在屏幕右侧看到public_html/wildcard文件夹的内容,右键单击.htaccess文件并选择编辑,然后再次按编辑。将代码放在.htaccess的顶部。

SSL通配符证书是否适用于所有服务器和浏览器?

SSL通配符证书与所有主要Web服务器和浏览器广泛兼容。无论您使用的是Apache、Nginx、IIS,还是通过Google Chrome、Mozilla Firefox、Safari、Microsoft Edge或Opera浏览,通配符证书都可以为主域下的所有子域提供加密通信。然而,至关重要的是,从受信任的证书颁发机构获取证书,以避免安全警告。由于证书在子域之间共享,因此优先保护私钥的安全至关重要,以防止被破解。这使得通配符证书成为网站加密的方便而安全的选择。

我可以与所有子域名共享IP地址吗?

是的,您可以通过使用通配符SSL证书和适当的DNS配置,与所有子域名共享单个IP地址。通过在DNS设置中将所有子域指向相同的IP地址,并使用通配符SSL证书保护它们,您可以确保每个子域都可以安全地通过HTTPS访问,而无需为每个子域提供唯一的IP地址。这种方法简化了托管和SSL管理,使得对于具有多个子域的网站而言,高效且具有成本效益。

总结

通配符SSL证书是一种方便且具有成本效益的方式,可以保护单个域下的多个子域。它们提供与常规SSL证书相同级别的加密,并被所有主要浏览器所认可。 了解如何在托管账户中使用通配符SSL证书,可以借助mod_rewrite实现。尽管WHM中可能存在一些限制,仅允许一个虚拟主机配置,但本指南提供了逐步说明,以帮助您克服这些限制。通过将子域分配到其父域分配的文件夹下,并使用适当的mod_rewrite规则,您可以快速启动和运行您的通配符SSL证书。记得在进行更改后清除浏览器缓存以查看重定向。通过这些技巧和窍门,您可以充分利用您的通配符SSL证书,确保您网站的安全。