Nginx 配置 HTTPS 完整过程
使用SSL证书实现网站Https,防止数据遭窃取和篡改。
说明: 以下操作过程是在使用yum安装nginx情况下进行的,或是二进制手动安装则相关目录可能不同
阿里云下载免费证书
- 进入阿里云控制台搜索SSL => 点击[SSL证书(应用安全)]进入,然后点击[购买证书],如下:
这里选择免费版
如果有多个域名,可以在购买数量外添加,省得麻烦再次购买。这里是免费0元,直接点击购买支付成功后,点击证书申请
然后补充信息,验证即可。成功后有消息通知再在SSL控制台已签发证书处下载所需服务器类型的证书,我们这里下载Nginx证书,之后将文件上传到服务器的 /etc/nginx/
解压重命名为 cert
修改nginx.conf文件
$ cd /etc/nginx
$ cp nginx.conf nginx.conf.bak
$ vim nginx.conf
配置 https server
http {
#将 http 重定向 https
server {
listen 80;
server_name www.baidu.com; #域名
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
#服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
listen 443 ssl;
# 配置自己的域名,多个以空格分开
server_name baidu.com;
#ssl证书地址
ssl_certificate /etc/nginx/cert/yourname.pem; #pem文件的路径
ssl_certificate_key /etc/nginx/cert/yourname.key; # key文件的路径
#ssl验证相关配置
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;
index index.html index.htm;
}
}
}
重启 nginx
$ systemctl reload nginx