用户要为云服务器手动部署SSL证书的核心流程相对固定,主要涉及几项,获取证书、上传到服务器、修改Web服务器配置以及重启服务几个关键步骤。下面我总结一下整个流程的要点:

步骤 核心操作 关键说明与常用命令

1.  获取SSL证书 从证书颁发机构(CA)获取,或自行生成。 CA签发:购买或申请免费证书(如Let‘s  Encrypt)。

自行生成:使用OpenSSL生成自签名证书(仅用于测试)。

2.  上传证书文件 将证书文件上传至服务器的安全目录。 常用目录:/etc/ssl/或/etc/nginx/ssl/。可使用FTP或SCP工具上传。

3.  配置Web服务器 修改服务器配置文件,指定证书路径。 根据不同服务器操作,详见下文配置示例。

4.  重启服务并验证 重启Web服务使配置生效,并测试访问。 重启命令:sudo  systemctl  restart  nginx  或  sudo  systemctl  restart  apache2。

  验证:通过https://你的域名访问,或使用openssl  s_client  -connect  域名:443命令检查。

注:手动部署证书在后续续期时也需要重复此过程,且存在因操作失误导致服务中断的风险。如果你的阿里云ECS是符合条件的“可信实例”,可以考虑使用官方提供的“一键部署”功能,以实现后续证书的自动续期和管理。

一、不同Web服务器的配置方法

配置的关键在于修改服务器的配置文件,以指向你上传的证书文件。

Nginx服务器

你需要编辑网站的配置文件(通常位于/etc/nginx/conf.d/或/etc/nginx/sites-available/),在监听443端口的  server  块中添加或修改以下指令:

nginx

server  {

        listen  443  ssl;  #  启用SSL监听443端口

        server_name  yourdomain.com  www.yourdomain.com;  #  你的域名

        ssl_certificate  /etc/ssl/yourdomain.crt;  #  证书文件路径(或合并后的完整链路径)

        ssl_certificate_key  /etc/ssl/yourdomain.key;  #  私钥文件路径

        ...  其他配置  ...

}

注意:如果证书文件是分开的(如.crt文件和.chain.crt文件),在Nginx中通常需要将它们合并为一个文件,并将合并后的文件路径指定给ssl_certificate指令。

Apache服务器

你需要编辑SSL虚拟主机配置文件(通常位于/etc/httpd/conf.d/ssl.conf或/etc/apache2/sites-available/your-site-ssl.conf),在<VirtualHost  *:443>块中修改以下参数:

apache

<VirtualHost  *:443>

        ServerName  yourdomain.com:443

        DocumentRoot  "/var/www/html"

        SSLEngine  on

        证书文件(公钥)

        SSLCertificateFile  /etc/ssl/certs/yourdomain_public.crt

        证书链文件(中间CA证书)

        SSLCertificateChainFile  /etc/ssl/certs/yourdomain_chain.crt

        私钥文件

        SSLCertificateKeyFile  /etc/ssl/certs/yourdomain.key

</VirtualHost>

注意:对于Apache  2.4.8及以上版本,也可以将证书文件和链文件合并,然后使用SSLCertificateFile指令指定合并后的文件。

修改配置后,务必使用sudo  nginx  -t或sudo  apachectl  -t命令测试配置文件语法是否正确,确认无误后再重启服务。

二、部署后测试与常见问题

测试证书是否生效:部署后,你可以使用浏览器访问https://你的域名,查看地址栏是否有锁形安全标识。此外,在服务器上使用openssl  s_client  -connect  yourdomain.com:443命令可以获取详细的证书信息。

常见问题有几点:

私钥与证书不匹配:部署后网站无法访问。可以使用openssl命令分别计算证书和私钥的MD5值进行比对。

证书链不完整:部分老旧浏览器可能提示证书不受信任。请确保证书文件包含了所有中间CA证书。

端口未开放:确保服务器的安全组(云平台)和本地防火墙(如firewalld、ufw)均已放行443端口。

配置文件语法错误:在重启Web服务器前,务必先使用测试命令检查语法,避免因配置错误导致服务启动失败。

总结一下上述内容,手动部署SSL证书是一个标准化的流程,关键在于准确修改Web服务器的配置并确保文件路径正确。

如果你需要为Tomcat、IIS等其他Web服务器配置证书,或者想了解如何为多个域名(SSL证书)或通配符域名进行配置,我们可以为你提供更具体的信息。