配置阿里云轻量应用服务器实现全站HTTPS访问
本文最后更新于: 2022年10月10日 下午
[toc]
前言
前段时间,我写了一个基于React
+Express
+MongoDB
的个人网站 www.frmachao.top,现在要给它加上 ssl
证书,来实现全站https
访问。
证书
购买免费的证书服务
注意: 单域名表示要申请的证书用于绑定1个具体域名(例如,只绑定www.frmachao.top)
创建证书并进行证书申请操作
填写申请信息 并验证 DNS 信息
注意:域名验证记录要在证书签发后再删除,否则因为没有解析记录导致证书签发失败
主机记录值_dnsauth
就是系统自动生成的 域名验证记录 ,因为这里我的域名也是在阿里云解析的,如果你是其他 DNS 服务商解析的,需要自己添加一条这样的域名记录
搭建FTP服务器
参考:阿里云文档
Q:为什么要搭建FTP服务器
A:因为要上传证书到服务器,可能有其他方式上传,但是图形界面更直观些。
补充常用命令
1 |
|
遇到的问题:
- FileZilla客户端 连接时的加密方式….. 卡了我半天
使用文档截图中连接的加密方式时,一直提示连接超时,我以为是配置的FTP服务器有问题,对着文档反复走几遍折腾了 一个小时,最后试了试选择明文连接,结果直接成功了
😭只要没文化 处处是魔法
centos 7 安装 nginx + ssl 模块
我购买是阿里云轻量应用服务器 CentOS 7 的镜像
一开始我直接使用yum方式安装的ngninx,但是这种方式安装的ngninx默认是不支持ssl的,所以需要从代码编译安装Nginx
参考:
源码安装 Nginx
遇到的问题:
- CentOS7中添加环境变量后立即生效,但是重启服务器又失效
原因:添加环境变量到 /etc/profile文件
source /etc/profile 使配置文件生效
参考:CentOS7中添加环境变量后立即生效,但是重启服务器又失效
检查是否已经含有 ssl 模块
1 |
|
看到输出里 含有 --with-http_ssl_module
明就是带ssl参数编译的
1 |
|
在Nginx服务器上安装ssl证书
验证
END
学习到的linux命令
1 |
|
linux 中的几种配置环境变量的文件目录
1 |
|
另一种方案: Let’s Encrypt
Let’s Encrypt 是一家免费、开放、自动化的证书颁发机构(CA),为公众的利益而运行。它是一项由 Internet Security Research Group(ISRG)提供的服务。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!