哈喽,大家好呀!这里是码农后端。完成了域名的备案与解析后,就可以通过域名来访问我们的网站了。本篇将介绍如何为我们的网站部署SSL安全证书,实现网站的 HTTPS 加密协议访问。

1、购买SSL证书

未进行SSL证书部署,访问网站会显示不安全字样,如下。

36bc53b1425818be11661c4cfdbdf1bb.png

为了解决这一问题,就需要为网站配置SSL证书,可以上阿里云或腾讯云官网上购买,或使用免费版的,这里介绍使用阿里云进行购买部署。

登录阿里云官网,搜索SSL,进入数字证书管理服务控制台。点击左侧的SSL证书管理,再点击免费证书,进行购买。购买完成后,去创建证书并等待签发,已签发就可以继续后面的部署工作了。

9cc55b08cd2cb45416ff48e4f692f292.png

我个人是花了1块钱购买了免费版1年的,先用着。

2、证书下载与部署

可以根据服务器类型选择证书下载并部署,如下。这里介绍使用Nginx服务器的方式安装证书。

1b7d746d042e32c637a203682c6b16e0.png

点击下载,将下载好的压缩包解压到本地,如下

737a7bd8a6b625768b7d9597ba8d47c7.png

由于后续需要将这两个文件从我们的本地Window上传到Linux上的Nginx服务器上,所以需要先下载一个文件上传工具。

注:如果本地主机为Linux或macOS,可通过SFTP/SCP上传或下载文件;如果本地主机为Windows,可通过WinSCP上传或下载文件

根据阿里云官方推荐,这里我们选择使用WinSCP工具远程连接Linux系统的ECS,并进行文件上传或下载。

注:WinSCP可以实现在本地与远程计算机之间安全地复制文件。与使用FTP上传代码相比,通过WinSCP可以直接使用服务器账户密码访问服务器,无需在服务器端做任何配置。

实现上传的前提如下:

1、ECS实例正在运行中。

2、ECS实例实现了公网通信,即有公网IP。

3、ECS实例所在安全组入方向已开放22端口。

注:ECS实例就是我们购买的云服务器。

2.1 安装WinSCP客户端

WinSCP官网:https://winscp.net/eng/docs/lang:chs, 点击网站上方Download,找到对应版本下载安装即可。

安装完成后打开,会自动弹出登录对话框,如下,进行登录操作

209e003c5cc45c2de817797db4529da1.png

登录完成后,进入WinSCP文件传输界面,如下,就可以开心地上传或下载文件了。

c9c1d555cf72e292cb1ec70a7209de97.png

2.2 Nginx服务器上安装证书

使用连接工具如MobaXterm,远程连接我们的云服务器,或者直接使用阿里云提供的连接工具,为了方便,我这里直接使用阿里云的。

ce243e0ae6fa882ce82b48d69dd06ae6.png

1)执行如下命令,在Nginx的conf目录下创建一个用于存放证书的目录。

cd /usr/local/nginx/conf  #进入Nginx默认配置文件目录。
mkdir cert  #创建证书目录,命名为cert。

2)将之前下载保存到本地的证书文件和私钥文件,上传到Nginx服务器的证书目录(/usr/local/nginx/conf/cert)。

74514d61a00b5a185145ffb16e4a4970.png

3)编辑Nginx配置文件nginx.conf,修改与证书相关的配置。步骤如下 

a、使用vim命令打开配置文件

vim /usr/local/nginx/conf/nginx.conf

注:nginx.conf默认保存在/usr/local/nginx/conf目录下。如果您修改过nginx.conf的位置,可以执行nginx -t,查看nginx的配置文件路径,并将/usr/local/nginx/conf/nginx.conf进行替换。

b95636dd1742cbedc0fcdcd42d132c7d.png

b、按i进入编辑模式,并做如下修改。在nginx.conf中定位到server属性配置,删除行首注释符号#,参考如下;

bee72e0c8c2a0e8b66dade0c478b00ec.png

可以设置HTTP请求自动跳转HTTPS,在如下位置添加如下代码。

#将所有HTTP请求通过rewrite指令重定向到HTTPS。
rewrite ^(.*)$ https://$host$1;

3a1ee71625f832d95e533d09e0663d8d.png

注:要将/root下的html替换为/home/blog,即之前在linux下创建的博客目录,否则就算证书部署成功,访问到的也是nginx的页面而不是个人博客页面。这个目录每个人在刚开始创建的可能不一样,具体因人而异。

小插曲:我后面证书部署成功,结果一直访问自己的域名都是nginx的欢迎页面,就是因为当时这里没有替换,所以一直出不来博客的页面,这告诉我们要细心。

c、重启Nginx服务

cd /usr/local/nginx/sbin  #进入Nginx服务的可执行目录。
./nginx -s reload  #重新载入配置文件。

注:若报错the "ssl" parameter requires ngx_http_ssl_module:说明需要重新编译Nginx并在编译安装的时候加上--with-http_ssl_module配置。

果然,我还真中招了,前面都没错,就这里报了上述错误,尝试了许久,终于找到了适用我的解决方案,如下

cd # 回到家目录
# 1、切换到源码包,版本要对应自己的
cd /root/nginx-1.21.4 
# 2、进行编译
./configure --with-http_ssl_module
# 3、配置完成后,运行命令
make
# 4、网上说不能执行这个,但我是运行这个之后才成功解决,根据自己实际情况来吧
make install
# 5、编译完成后,重新启动nginx来使更改生效
systemctl restart nginx.service

由于上一步重启Nginx服务报错,所以这里要再次重启,代码同上

cd /usr/local/nginx/sbin  #进入Nginx服务的可执行目录。
./nginx -s reload  #重新载入配置文件。

3、验证SSL证书是否配置成功

证书安装完成后,可以通过访问证书的绑定域名验证证书是否安装成功。

https://zhengyquan.cn/ #这里访问自己的域名

见证奇迹的时刻到了!可以看到,网页地址栏出现小锁标志,表示证书已经安装部署成功。

5b4be6854c00a4e9a372602d25ae655e.png

当然,也可以点一下该小锁,查看证书信息

e3dc9cbe3ba23934e47c9447995c8751.png

4、备案后工作

1)简单回顾一下备案流程

cc742405de074decc3e8a9c980562d21.jpeg

2)敲重点:当ICP备案成功后,需要做如下事情

88cafd2100bd75178346d4ed321fdfd8.jpeg

3)我只需要完成前两个就行了。公安联网备案目前还在进行中,先在把第一件事,即在网站底部悬挂备案号完成。找到博客butterfly主题下的layout\includes\footer.pug文件,添加如下代码(备案号需要换成自己的)。

<a href="https://beian.miit.gov.cn/"  style="color:white" target="_blank">赣ICP备2024027702号-2</a>

3f9c2a9bde41d0a8d618c702027176c3.png

添加后,使用git将此次修改的内容推送到云服务器,推送完成后再次访问我们的网站,就可以看到底部的备案信息了。

639b6f9eadc1acc7d497dc553744037d.png

好了,以上就是今天这篇文章的全部内容了。如果你想及时看到我的文章,只需做这几个动作:点星标、点在看(包括赞)、评论、分享,我就会经常出现在您的常读列表,后面更新都会提醒。感谢大家的关注和支持,祝大家生活美满,学业有成,事业蒸蒸日上!

往期精彩文章推荐(点击下方蓝字即可阅读!)

往期推荐

一文带你学会如何部署个人博客到云服务器,并进行域名备案与解析!

小满小满,幸福满满!

SQL Server数据库常见的迁移方式有哪些?2分钟带你快速了解!

SQL Prompt:高效开发的SQL Server数据库必备插件!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐