1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > 域名 > 正文

域名

SSL证书不会安装配置?手把手教会你,3步搞定

1987web2023-09-26域名213
本文为远怀学堂原创,纯干货分享

本文为远怀学堂原创,纯干货分享

我们昨天发布的一篇教程(免费的SSL证书它不香吗?香,真香!)跟大家分享了如何通过阿里云去申请免费的SSL证书,有效期1年,支持个人/企业申请,一个阿里云帐户最多可签发20张。

申请好了SSL证书下一步就是配置安装部署证书,把证书用起来,步骤也很简单,这里跟大家分享下如何在Nginx服务器中轻松部署安装配置,3步搞定。

本教程是接着上一个教程的示例继续操作,如果没看过上一篇教程,可以到我们的主页上查看下相关内容

第1步 下载证书文件到本地电脑中

在阿里云控制台中的SSL操作界面中找到刚申请成功的免费SSL证书,点击右侧的「下载」链接,弹出下载页面,然后点击Nginx右侧的下载按钮,下载证书文件。

每种WEB服务器的SSL证书格式不一样,不通用,需要单独下载对应服务器的SSL证书文件

下载完是一个zip压缩包文件,需要进行解压,解压下来是两个文件:

以.key为后缀的文件是密钥文件

以.pem为后缀的文件是证书文件

第2步 上传到服务器中的特定的文件夹目录下

将第1步中的证书文件(.pem结尾)和密钥文件(.key)文件上传到Nginx服务器中,这两个文件具体的放置路径是在Nginx安装目录下的conf/cert文件夹中。

比如你的Nginx安装目录是/usr/local/nginx,则先在/usr/local/nginx/conf目录下新建一个文件夹cert,然后将这两个文件上传放置在这个目录下。

如果你是Linux主机的话可以参照下面的命令(Windows用户可以手动图形化界面操作):

//创建cert目录cd/usr/local/nginx/conf/
mkdir cert

通过FTP、SCP或者SFTP等工具将证书上传到cert目录,最终效果是:

第3步 配置nginx.conf,使证书生效

修改nginx的配置文件/usr/local/nginx/conf/nginx.conf,修改之前最好通过复制命令将该配置文件备份一份,以防万一把该配置文件改坏了,好恢复。

//备份一份原始的配置文件cp nginx.conf nginx.conf.bak.2020.03.09

接下来就修改nginx.conf文件:

vimnginx.conf

在nginx.conf里增加配置信息:

HTTPS serverserver{listen443ssl;server_nameapi.yuanhuaixuetang.com;ssl_certificatecert/3564574_api.yuanhuaixuetang.com.pem;ssl_certificate_keycert/3564574_api.yuanhuaixuetang.com.key;ssl_session_timeout5m;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocolsTLSv1 TLSv1.1TLSv1.2;ssl_prefer_server_cipherson;root/var/www-data/yhxtapi;indexindex.html index.php;location/ {

    }

}

这里对上面的配置信息做一个简单的解释 :

配置信息中ssl开头的配置项是与SSL证书配置相关的,其他内容是一般的Nginx服务器配置信息。

listen443ssl;//监听443端口,因为SSL协议是走443端口
servername  api.yuanhuaixuetang.com;//虚拟主机的servername,要与你所用的证书中的域名一致,也就是当时申请SSL证书时用的什么域名,这里也要是相同的域名。
ssl_certificate      cert/3564574_api.yuanhuaixuetang.com.pem;//证书文件(.pem)的路径地址,也就是第2步中上传的证书文件的存放地址
ssl_certificate_key  cert/3564574_api.yuanhuaixuetang.com.key;//密钥文件(.key)的路径地址,也就是第2步中上传的密钥文件的存放地址
ssl_session_timeout5m;//客户端可以重用会话缓存中的ssl的过期时间
ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;//密码加密方式
ssl_protocols TLSv1 TLSv1.1TLSv1.2;//启用特定的加密协议
ssl_prefer_server_cipherson;//配置优先使用服务端的加密套件,而不是客户端浏览器的加密套件

其他配置信息是基本的Nginx服务器配置信息,这里不详细介绍了。

配置完成之后,保存,使用nginx的命令测试一下配置文件是否正确:

nginx-t

输出结果:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conftestis successful

代表配置文件修改的没问题。

然后让nginx重新加载下配置文件

nginx-s reload

配置就完成了!接下来就是测试看看效果了。

测试下效果

测试之前你需要做的:

  1. 确保你的服务器防火墙443端口已开启,因为SSL协议是走443端口的,像使用阿里云ECS服务器的话防火墙默认是没开启443端口,需要自己手动去开启。
  2. 做好域名的解析,将域名正确的解析到你的服务器IP地址上。

做好了这两步之后,你可以在刚配置好的SSL虚拟主机的根目录下新建一个html文件测试下。

按照本文中的配置的话就是在 /var/www-data/yhxtapi目录下新建一个index.html,随便写点内容,然后打开浏览器,访问:https://api.yuanhuaixuetang.com/

点击左侧的小锁图标可以看到信息

看到上面中的显示效果代表你的SSL证书生效了,配置安装成功了!

可以再多做一件事

你可以在nginx.conf里再多配置一点:

server{listen80;server_nameapi.yuanhuaixuetang.com;rewrite^(.*)$https://$host$1permanent;
}

上面的配置可以让用于访问HTTP请求时自动跳转到HTTPS开头的地址,确保用户访问的是安全的HTTPS链接。

下载证书->上传证书->配置web服务器,3步可以搞定SSL证书安装使用,最后别忘了配置完成后测试一下是否成功,是不是很简单?

在其他的WEB服务器中安装配置的步骤与此类似,不过配置web服务器与Nginx服务器中不同

本文为远怀学堂原创,觉得有用,有价值就收藏、转发吧,同时记得关注「远怀学堂」,我们专注于「原创·精品」的IT技术教程,图文 & 视频。