前言
什么是 https? 我们为什么要用 https?
其实生产上我们肯定会使用的是 https,如果哪家公司生产环境还是使用的是 http,那也 … 忒不负责了 … 那么为什么要用 https 呢?我们随意举一个例子去看。如果你们现在有 http 的环境,你去输入一个密码什么的,在输入框看着是密文,但是实际网络传输的时候绝对是明文!也就是如果是很重要的信息,很有可能会被不怀好意的人中途劫走 … 很恐怖。而 https 是在 http 的基础上做了一层加密。即通过 SSL 或 TLS 提供加密处理数据、验证对方身份以及数据完整性保护。就像公钥加密,私钥解密一样。即使三方劫持了我的加密数据,没有私钥,也无法解密,拿到的只是一堆不认识的“乱码”。
阿里 ssl 证书申请
这里我们使用阿里云的免费证书来举例,申请证书网上有很多教程,这边可以仔细看一下 https://yq.aliyun.com/article…(阿里云官网教程)申请以后,等待几分钟就会审核通过了。到时候我们会在 ssl 控制台看到以下界面:
这个时候我们点击下载,然后选择 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…