如何为个人网站部署SSL安全证书,以实现网站的 HTTPS 加密协议访问?
哈喽,大家好呀!这里是码农后端。完成了域名的备案与解析后,就可以通过域名来访问我们的网站了。本篇将介绍如何为我们的网站部署SSL安全证书,实现网站的 HTTPS 加密协议访问。
1、购买SSL证书
未进行SSL证书部署,访问网站会显示不安全字样,如下。
为了解决这一问题,就需要为网站配置SSL证书,可以上阿里云或腾讯云官网上购买,或使用免费版的,这里介绍使用阿里云进行购买部署。
登录阿里云官网,搜索SSL,进入数字证书管理服务控制台。点击左侧的SSL证书管理,再点击免费证书,进行购买。购买完成后,去创建证书并等待签发,已签发就可以继续后面的部署工作了。
我个人是花了1块钱购买了免费版1年的,先用着。
2、证书下载与部署
可以根据服务器类型选择证书下载并部署,如下。这里介绍使用Nginx服务器的方式安装证书。
点击下载,将下载好的压缩包解压到本地,如下
由于后续需要将这两个文件从我们的本地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,找到对应版本下载安装即可。
安装完成后打开,会自动弹出登录对话框,如下,进行登录操作
登录完成后,进入WinSCP文件传输界面,如下,就可以开心地上传或下载文件了。
2.2 Nginx服务器上安装证书
使用连接工具如MobaXterm,远程连接我们的云服务器,或者直接使用阿里云提供的连接工具,为了方便,我这里直接使用阿里云的。
1)执行如下命令,在Nginx的conf目录下创建一个用于存放证书的目录。
cd /usr/local/nginx/conf #进入Nginx默认配置文件目录。
mkdir cert #创建证书目录,命名为cert。
2)将之前下载保存到本地的证书文件和私钥文件,上传到Nginx服务器的证书目录(/usr/local/nginx/conf/cert)。
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进行替换。
b、按i进入编辑模式,并做如下修改。在nginx.conf中定位到server属性配置,删除行首注释符号#,参考如下;
可以设置HTTP请求自动跳转HTTPS,在如下位置添加如下代码。
#将所有HTTP请求通过rewrite指令重定向到HTTPS。
rewrite ^(.*)$ https://$host$1;
注:要将/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/ #这里访问自己的域名
见证奇迹的时刻到了!可以看到,网页地址栏出现小锁标志,表示证书已经安装部署成功。
当然,也可以点一下该小锁,查看证书信息
4、备案后工作
1)简单回顾一下备案流程
2)敲重点:当ICP备案成功后,需要做如下事情
3)我只需要完成前两个就行了。公安联网备案目前还在进行中,先在把第一件事,即在网站底部悬挂备案号完成。找到博客butterfly主题下的layout\includes\footer.pug文件,添加如下代码(备案号需要换成自己的)。
<a href="https://beian.miit.gov.cn/" style="color:white" target="_blank">赣ICP备2024027702号-2</a>
添加后,使用git将此次修改的内容推送到云服务器,推送完成后再次访问我们的网站,就可以看到底部的备案信息了。
好了,以上就是今天这篇文章的全部内容了。如果你想及时看到我的文章,只需做这几个动作:点星标、点在看(包括赞)、评论、分享,我就会经常出现在您的常读列表,后面更新都会提醒。感谢大家的关注和支持,祝大家生活美满,学业有成,事业蒸蒸日上!
往期精彩文章推荐(点击下方蓝字即可阅读!)
往期推荐
一文带你学会如何部署个人博客到云服务器,并进行域名备案与解析!
SQL Server数据库常见的迁移方式有哪些?2分钟带你快速了解!
SQL Prompt:高效开发的SQL Server数据库必备插件!
更多推荐
所有评论(0)