nginx的https配置篇(阿里ECS服务器) - litong534/web GitHub Wiki

首先去CA证书服务里面领取对应自己域名的CA证书,有两个文件,一个以.pem为后缀结尾,另一个以.key作为后缀结尾。我们把文件上传到linux服务器上,记住路径后面要用。

然后在nginx.conf中配置443端口服务(https监听443端口)

server {
    listen 443;
    server_name rozwel.club;
    ssl on;
    ssl_certificate  cert/123456789.pem;
    ssl_certificate_key cert/123456789.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;     
    location / {
      root html;
      try_files $uri $uri/ /index.html;
    }
    location /uploads/images {
      alias html/uploads/images;
    }
  }

以上的配置在阿里CA证书下载页有介绍,我们直接拿过来即可,下面的location一个配的是前端路由redirect,另一个是静态资源服务,注意这里路径是从html开始的。

https协议下的网站,资源需要走https,否则地址栏的绿色锁会消失,并且在控制台会报一个警告。

上面我们处理了静态资源,如果你没有单独配置发送请求的url,到这里就结束了,然而我配置了一个单独的二级域名用来发送请求

  server {
    listen 443;
    server_name api.rozwel.club;
    ssl on;
    ssl_certificate  cert/987654321.pem;
    ssl_certificate_key cert/987654321.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
     
    location / {
      root html;
      proxy_pass http://<address>:<port>;
    }
  }

如果这里不处理的话,会直接报错:ERR_CERT_COMMON_NAME_INVALID ,请求也会失败。

所以我们要在阿里云给这个url也申请一个CA证书,同样在nginx中配好,设置对后端地址的反向代理,这样请求我们也处理好了。

看到绿色锁出现的时候,觉得被认可的感觉真好哇-v-

⚠️ **GitHub.com Fallback** ⚠️