阿里云ECS服务器配置免费https

1,719 阅读2分钟

前提:购买云服务器,创建实例,购买域名,ICP备案          >>阿里云官网

刚开始没配置 https,因为起初的学习实践并没遇到什么障碍,nginx + vue + pm2 也能愉快的玩耍。

后来在不断实践过程中遇到不少需要 https 的地方:

  • 网页被劫持
  • 某些 API 仅支持在安全上下文环境下调用,如调用 getUserMedia () 方法,否则报 undefined 错误
  • 微信小程序 配置服务器合法域名时要求 https

进入正题,开始配置免费 https 服务(个人学习用够了)

购买免费证书

  • 登录阿里云管理后台-进入SSL证书概览-点击购买证书

  • 选择免费证书-点击立即购买

  • 购买成功页面,可前往证书控制台

证书申请

  • 证书控制台-点击证书申请

刚购买的证书是待申请状态

  • 填写证书绑定域名等信息

主要填写证书绑定域名,联系人,其他默认,申请成功后进入申请审核中状态

  • 申请通过后证书是已签发状态

证书申请审核过程很快,基本秒过

配置证书

  • 下载证书

根据你的服务器类型选择相应下载,我选择的是 nginx,下载下来有两个文件:xxx.pemxxx.key,如下所示:

  • nginx https 配置
  1. 远程登录你的云服务器,将下载的证书文件放置 /usr/local/nginx/cert/ 路径下

  1. 修改nginx配置文件:/etc/nginx/nginx.conf
# Settings for a TLS enabled server.
#
   server {
       listen       443 ssl http2 default_server;
       listen       [::]:443 ssl http2 default_server;
       server_name  _;
       root         /usr/share/nginx/html;

       ssl_certificate "/usr/local/nginx/cert/xxx.pem";
       ssl_certificate_key "/usr/local/nginx/cert/xxx.key";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_ciphers PROFILE=SYSTEM;
       ssl_prefer_server_ciphers on;

       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;

       location / {
       }

       error_page 404 /404.html;
           location = /40x.html {
       }

       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }
   }

nginx.conf 文件默认有上述配置部分,只是注释掉了,放开注释即可,另外将 xxx.penxxx.key 改成你的实际名称

  • 检查你的云服务器是否授权443端口访问

点击配置规则查看,如没有授权443端口访问,请自行添加

  • 检查你的安全组是否关联相关实例

如果相关实例0,按下图所示添加相关实例

  • 检验你的https是否配置好

打开浏览器,输入: https://你的域名,是否出现 nginx 测试页面

一定要检查 443 端口是否授权访问 和 安全组是否关联相关实例,我配置的时候没注意这两点,掉坑了大半天时间。