获取SSL证书的过程通常涉及以下几个步骤:
根据网站的需求,选择合适的SSL证书类型:
域名验证(DV, Domain Validation)证书:验证域名所有权,颁发速度快,适合中小型网站。
企业验证(OV, Organization Validation)证书:验证域名所有权和企业身份,适合中大型企业网站。
扩展验证(EV, Extended Validation)证书:验证最严格,需要详细审核企业信息,适合需要最高信任度的网站。
选择一个受信任的证书颁发机构(CA)购买证书,例如:
Let’s Encrypt(提供免费的DV证书)
DigiCert
GlobalSign
Comodo (现为 Sectigo)
Symantec (现为 DigiCert的一部分)
Thawte
在服务器上生成一个证书签名请求(CSR),CSR包含了证书申请者的公钥和一些身份信息。生成CSR的步骤如下:
登录到服务器。
使用OpenSSL或类似工具生成CSR。例如,使用OpenSSL命令:
bash复制代码openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
按照提示输入相关信息,包括国家、州/省、市、组织名称、域名(Common Name),以及联系电子邮件。
生成后,会得到两个文件:一个私钥文件(yourdomain.key)和一个CSR文件(yourdomain.csr)。
将生成的CSR提交给选择的证书颁发机构(CA)。CA会根据证书类型进行验证:
域名验证(DV):通常通过发送电子邮件到域名所有者,或者在域名的DNS记录中添加特定的TXT记录。
企业验证(OV):除了域名验证,还需要提供企业的注册信息,CA会进行电话验证。
扩展验证(EV):需要提供详细的企业信息,包括注册文件、法人身份证明等,CA会进行严格的审核和电话验证。
验证通过后,CA会向你提供SSL证书文件。通常会包括主证书文件和中间证书文件。安装SSL证书的步骤如下:
将证书文件上传到服务器。
配置Web服务器(例如Apache、Nginx、IIS等)使用新的SSL证书。
例如,在Apache服务器中,配置文件(httpd.conf或ssl.conf)中添加或修改以下内容:
apache复制代码SSLEngine on SSLCertificateFile /path/to/yourdomain.crt SSLCertificateKeyFile /path/to/yourdomain.key SSLCertificateChainFile /path/to/intermediate.crt
在Nginx服务器中,配置文件(nginx.conf或site configuration file)中添加或修改以下内容:
nginx复制代码server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/yourdomain.crt; ssl_certificate_key /path/to/yourdomain.key; ssl_trusted_certificate /path/to/intermediate.crt; # Other configurations... }
配置完成后,重启Web服务器以应用新的SSL证书配置。
例如,在Apache中:
bash复制代码sudo systemctl restart apache2
在Nginx中:
bash复制代码sudo systemctl restart nginx
访问你的域名,确保浏览器地址栏显示安全锁图标,表明SSL证书已成功安装并且通信是加密的。你可以使用SSL测试工具(例如SSL Labs的SSL Test)检查证书是否正确安装并配置。