阿里云ecs+ssl+nginx 实现https访问

前言

什么是https?我们为什么要用https?
其实生产上我们肯定会使用的是https,如果哪家公司生产环境还是使用的是http,那也…忒不负责了…那么为什么要用https呢?我们随意举一个例子去看。如果你们现在有http的环境,你去输入一个密码什么的,在输入框看着是密文,但是实际网络传输的时候绝对是明文!也就是如果是很重要的信息,很有可能会被不怀好意的人中途劫走…很恐怖。而https是在http的基础上做了一层加密。即通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护。就像公钥加密,私钥解密一样。即使三方劫持了我的加密数据,没有私钥,也无法解密,拿到的只是一堆不认识的“乱码”。

阿里ssl证书申请

这里我们使用阿里云的免费证书来举例,申请证书网上有很多教程,这边可以仔细看一下https://yq.aliyun.com/article… (阿里云官网教程) 申请以后,等待几分钟就会审核通过了。到时候我们会在ssl控制台看到以下界面:

《阿里云ecs+ssl+nginx 实现https访问》

这个时候我们点击下载,然后选择nginx下载对应的文件,并放在与自己服务器nginx的nginx.conf对应一个目录下面。然后在nginx.conf下配置以下内容:

#HTTPS server
    server {
    listen 443 ssl;
    server_name www.iamcrawler.cn;
    ssl on;
   # root html;
   # index index.html index.htm;
    ssl_certificate   cert/crawler.pem;
    ssl_certificate_key  cert/crawler.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 / {
        #修改为要跳转到你服务器的端口
        proxy_pass   http://127.0.0.1:9999;
        }
    }

此时,需要在安全组里面把443端口放开。然后重启nginx。这个时候就安装好了。

检查443是否生效:

netstat -lan | grep 443 (查看443端口是否在监听) 
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN (有看到这一行 就表示HTTPS已经在工作了) 
  
  

转发请指明出处:https://segmentfault.com/a/11…

    原文作者:crawler
    原文地址: https://segmentfault.com/a/1190000019928425
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞