01.前期准备
- 已经有一个域名,并将域名解析了对应的ip地址上
- 国内服务器域名解析需要申请备案,确认域名已经备案成功(周期7-15天左右)
- 有一个服务器
这里笔者以在阿里云购买的域名为例,配置https的流程
02.ssl证书获取
-
进入到阿里云ssl业务模块
-
获取免费的ssl证书
-
购买完成后,开始创建证书
-
关于申请证书的填写
证书绑定的域名:通常情况下,填写以WWW开头的域名。如果是给子域名设置https,就输入子域名。这里由于笔者已经设置过WWW域名了,所以是以子域名为例。在下一个章节,笔者会开始子域名的配置流程。
其他选项: 系统默认即可。
到了第下一步。通常情况下,阿里云已经帮你把第一步第二步做好了,你只需要点击以下第三步的
验证按钮,确认下是否正常即可。没有问题的话点击提交审核。 -
下载ssl证书 等待审核通过后(PS:其实笔者的审核是秒过的)。因为我们部署用的是nginx,所以选择 nginx 的证书进行下载。
-
得到两个文件,一会需要上传到服务器上。
03.配置nginx
-
来到服务器终端,在 /usr/local/nginx/conf/ 目录下新建一个ssl目录,用于存放我们的ssl证书。
存放的位置其实没有特殊要求,关键在于你是否能找到 -
上传之前在阿里云上下载的两个证书
-
进入 nginx.conf 的文件操作模式
vim /usr/local/nginx/conf/nginx.conf -
按下
i键开始编辑
写了注释的地方表示新增内容
# nginx.conf全部内容如下
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# ssl通用端口号443,如果没开放,一定要记得在安全组设置里将443端口开放
server {
# 一定是443端口,不能是其他的
listen 443 ssl;
# 服务名称,一般填写域名或ip地址
server_name www.chimeng.xyz;
# 展示给用户的html文件路径,index.html省略可不写
root /home/project/bdmoa/web/dist;
# 填写之前上传的证书路径,这里是相对路径的写法
ssl_certificate ssl/8713426_www.chimeng.xyz.pem;
ssl_certificate_key ssl/8713426_www.chimeng.xyz.key;
# ssl的其他配置,复制粘贴即可
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
# 展示给用户的html文件路径,记得修改成自己的
root /home/project/bdmoa/web/dist;
}
}
server {
listen 80;
server_name www.chimeng.xyz;
# 这一步笔者忘记是做什么的了,有懂得大佬可以评论区告诉我,我及时修改
rewrite ^(.*)$ https://$host$1;
location / {
root /home/project/bdmoa/web/dist;
}
location /api {
proxy_pass http://127.0.0.1:3000;
add_header Content-Type "text/plain;charset=utf-8";
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST';
}
}
}
-
配置修改完成后,按
esc键退出编辑模式 -
退出并回到终端
:wq保存并退出
:q不保存退出
:q!不保存退出(强制) -
编辑完成后,停止并再次开启nginx,无报错即为启动成功。 到此,浏览器访问域名,https就算设置完成了。