Centos7用Nginx安装SSL证书
SSL证书有什么用呢?答:** 啦啦啦啦啦啦啦
嗯,如果听不懂就用官方点的术语就是:SSL证书(Secure socket layer),就是遵守 SSL协议,由受信任的数字证书颁发机构CA颁发,主要用来提供对用户和服务器的认证,对传送的数据进行加密和隐藏,确保数据在传送中不被改变,即数据的完整性,因其配置在服务器上,也称为SSL服务器证书,现已成为该领域中全球化的标准。
懂了吧,好了,接下来就开始我们正经的工作了。
准备工作
Centos7 服务器一台
安装Nginx
SSL证书
如果没有服务器的话,那么恕我爱莫能助
如果不懂安装Nginx的小伙伴可以参考Centos安装Nginx
如果没有SSL证书的,我们可以去购买服务器的云供应商那边申请SSL,不是作为商业的话我们申请一个免费的来用用看也是蛮不错的
证书申请成功我们先把它下载下来,下下来应该是长这个样子的
因为我们使用的是Nginx所以就Nginx里面的东西有用,那么现在就有3个文件了,分别是:
xxxxxxx.csr (没什么用,不管他了)
xxxxxxx.crt (证书文件)
xxxxxxx.key (私钥)
把后缀为crt 和 key的上传到我们的服务器上面
接下来是配置我们的nginx配置了,nginx默认配置的文件路径是/etc/nginx/conf.d/
我们可以在该文件夹下面建立以conf后缀的文件,比如:bk_web.conf , nginx会自动加载他,
server {
#SSL 访问端口号为 443
listen 443 ssl;
#填写绑定证书的域名
server_name www.yanbin.host;
#证书文件名称 这里要看下我们刚才把证书放在哪里了,要加上路径
ssl_certificate /ssl/*****.crt;
#私钥文件名称 这里要加上私钥的路径
ssl_certificate_key /ssl/xxxxxx.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
反向代理到 xxx 端口
proxy_pass http://127.0.0.1:8443;
add_header Access-Control-Allow-Origin *;
}
}
#通过http访问的都会重定向为https
server {
listen 80;
#填写绑定证书的域名
server_name www.yanbin.host;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
好了,配置完成,重启nginx,systemctl restart nginx
最后记得把防火墙规则改下打开443端口