学习 Linux 技能...请耐心等待!
我发现了很多关于为单个站点安装证书的教程,但没有找到默认证书。
我的域名有一个通配符证书。我让支持人员在服务器上安装了此证书。由于我正在学习 Linux 服务器技能,所以我想在装有 Apache 的 Debian 服务器上安装此证书。我希望它成为所有站点的默认 SSL 证书,无论域名是什么,除非他们有自己的 SSL 证书。
我购买证书的地方有我可以复制和粘贴的文本:
- 服务器证书
- 中级证书
- 根证书
我找到了包含各种文件的sites-enabled
文件sites-available
夹。我还找到了 ssl cert 文件夹。
我发现不同的教程中有私钥、SSL 证书、中级证书等术语。似乎有几个术语可以互换使用。
我思考该过程是:
- 在 certs 文件夹中创建具有特定所有者和权限的文件(密钥/证书)。
sites-available
在或sites-enabled
文件夹或两者中编辑默认站点配置数据。- 重新启动 Apache。
我的问题:
- 我上述的步骤正确吗?
- 我的证书的哪些部分对应于证书文件夹中的哪些文件名?
- 我应该为默认 SSL 虚拟主机添加什么?这应该放在
sites-available
或sites-enabled
文件夹中,还是同时放在两者中?
我意识到我不知道有些事情...我还需要知道什么?
PS。ISPConfig 已安装在该服务器上,但似乎没有地方可以执行我想要的操作。我最终也想知道如何创建特定于站点的 SSL 证书。
答案1
背景
sites-available
在 Debian 中使用
有一个种类关于如何在 Debian 中设置站点。您应该为每个虚拟主机创建配置文件,sites-available
并将其符号链接到sites-enabled
。Debian 提供了a2ensite
为您执行这些符号链接的命令。
添加全局指令
您可以编辑httpd.conf
以添加全局指令,但这会使升级更加繁琐,因为您可能需要将配置更改httpd.conf
从“工厂”重新合并到较新的配置中。您可以使用与站点类似的技术将配置文件添加到。在用户/etc/apache2/mods-available
中创建配置后,即可启用它。/etc/apache2/mods-available
a2enmod
在 apache 中配置 SSL
您需要使用一些指令来告诉 Apache 在哪里找到您的证书。您的证书提供商应该已经向您提供了说明,说明您的哪些文件与以下哪些指令相符:
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLCertificateChainFile /etc/ssl/certs/foo-chain-bundle.pem
前两个是肯定需要的,而第三个SSLCertificateChainFile
只需要某些 SSL 证书提供商。
对你具体问题的答案
我上述的步骤正确吗?
您对整个过程的了解是正确的,但对于细节似乎不太清楚。
使用root
或apache
用户(可以是apache2
您)来获取您的配置文件应该没问题。从apache
用户那里提供文件是一种很好的做法。
我的证书的哪些部分对应于证书文件夹中的哪些文件名?
请参阅上文并重新阅读 SSL 证书提供商提供的文档。
我应该为默认 SSL 虚拟主机添加什么?它应该放在 sites-available 或 sites-enabled 文件夹中,还是同时放在这两个文件夹中?
我建议您将任何全局配置放入您自己的“mod”中,如上所述。