通过SSL证书服务购买和签发证书后,您可以将已签发的证书下载并安装到Nginx服务器上。本文介绍了下载SSL证书并在Nginx下服务器上安装证书的具体操作。
前提条件
已经通过SSL证书服务完成证书签发。更多信息,请参见步骤一:填写证书申请信息。
已准备好远程登录工具(例如PuTTY、Xshell),用于登录您的Web服务器。
注意:本文以CentOS 8操作系统、Nginx 1.14.1服务器系统为例进行说明。由于服务器系统版本不同,您在操作过程中使用的命令可能会略有区别。
步骤一:下载证书到本地
1.1、登录阿里云SSL证书控制台。在概览页面上方,单击已签发统计区域下的数字。
该操作将会筛选出所有已签发的证书。您只可以将已签发的证书下载到本地。定位到要下载的证书,单击操作列下的下载。
1.2、解压已下载的Nginx证书压缩包文件。
解压后您将会获得以下文件:
步骤二、使用证书
2.1、使用远程登录工具(例如PuTTY、Xshell)附带的本地文件上传功能,将本地证书文件和密钥文件上传到Nginx服务器的证书目录/usr/local/nginx/conf/cert
2.2、编辑Ngnix配置文件(nginx.conf),修改与证书相关的配置内容。
vim?/usr/local/nginx/conf/nginx.conf
按i进入编辑
#以下属性中,以ssl开头的属性表示与证书配置有关。 server?{ ????listen?443?ssl; ????#配置HTTPS的默认访问端口为443。 ????#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 ????#如果您使用Nginx?1.15.0及以上版本,请使用listen?443?ssl代替listen?443和ssl?on。 ????server_name?yourdomain.com;?#需要将yourdomain.com替换成证书绑定的域名。 ????root?html; ????index?index.html?index.htm; ????ssl_certificate?cert/cert-file-name.pem;??#需要将cert-file-name.pem替换成已上传的证书文件的名称。 ????ssl_certificate_key?cert/cert-file-name.key;?#需要将cert-file-name.key替换成已上传的证书密钥文件的名称。 ????ssl_session_timeout?5m; ????ssl_ciphers?ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ????#表示使用的加密套件的类型。 ????ssl_protocols?TLSv1?TLSv1.1?TLSv1.2;?#表示使用的TLS协议的类型。 ????ssl_prefer_server_ciphers?on; ????location?/?{ ????????root?html;??#站点目录。 ????????index?index.html?index.htm; ????} }
2.3、设置HTTP请求自动跳转HTTPS。
如果您希望所有的HTTP访问自动跳转到HTTPS页面,则可以在需要跳转的HTTP站点下添加以下rewrite语句。
使用示例代码前,请注意将yourdomain.com替换成证书绑定的域名。
server?{ ???listen?80; ????server_name?yourdomain.com; ????return?301?https://$server_name$request_uri; }
修改完成后,按Esc键、输入:wq,并按Enter键,保存修改后的配置文件并退出编辑模式。
2.4、重启nginx