项目部署07 阿里云https域名以及nginx配置

513 阅读3分钟

01.前期准备

  1. 已经有一个域名,并将域名解析了对应的ip地址上
  2. 国内服务器域名解析需要申请备案,确认域名已经备案成功(周期7-15天左右)
  3. 有一个服务器

这里笔者以在阿里云购买的域名为例,配置https的流程

02.ssl证书获取

  1. 进入到阿里云ssl业务模块 image.png

  2. 获取免费的ssl证书 image.png

  3. 购买完成后,开始创建证书 image.png

  4. 关于申请证书的填写
    证书绑定的域名:通常情况下,填写以WWW开头的域名。如果是给子域名设置https,就输入子域名。这里由于笔者已经设置过WWW域名了,所以是以子域名为例。在下一个章节,笔者会开始子域名的配置流程。
    其他选项: 系统默认即可。
    image.png 到了第下一步。通常情况下,阿里云已经帮你把第一步第二步做好了,你只需要点击以下第三步的验证按钮,确认下是否正常即可。没有问题的话点击提交审核image.png

  5. 下载ssl证书 等待审核通过后(PS:其实笔者的审核是秒过的)。因为我们部署用的是nginx,所以选择 nginx 的证书进行下载。 image.png

  6. 得到两个文件,一会需要上传到服务器上。 image.png

03.配置nginx

  1. 来到服务器终端,在 /usr/local/nginx/conf/ 目录下新建一个ssl目录,用于存放我们的ssl证书。
    存放的位置其实没有特殊要求,关键在于你是否能找到

  2. 上传之前在阿里云上下载的两个证书
    image.png

  3. 进入 nginx.conf 的文件操作模式
    vim /usr/local/nginx/conf/nginx.conf

  4. 按下 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';
        }
    }
}
  1. 配置修改完成后,按 esc 键退出编辑模式

  2. 退出并回到终端
    :wq 保存并退出
    :q 不保存退出
    :q! 不保存退出(强制)

  3. 编辑完成后,停止并再次开启nginx,无报错即为启动成功。 到此,浏览器访问域名,https就算设置完成了。
    image.png