环境:
centos6/7,nginx-1.9.15.
摘要说明:
上一篇主要讲述nginx下如何配置跨域、缓存、压缩;
本章节主要讲述nginx的https配置;
步骤:
1.https配置
首先我们要确定你的nginx安装了ssl模块:
# ./nginx -V
确认后需要有证书公钥和私钥,上传到服务器上;
接着就是配置https端口443:
server {
listen 443 ssl;
server_name study.xxxx.cn;
ssl_certificate /usr/local/nginx/conf/conf.d/1519440_xxxx.pem; #证书公钥,可为pem,也可为crt
ssl_certificate_key /usr/local/nginx/conf/conf.d/1519440_xxxx.key;#私钥
location / {
root html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
重新加载nginx配置即可 ;
浏览器访问后可看到正式详情:
只有专业机构颁发的证书浏览器才会识别成安全的;开发运维时需要主要有效期,及时更换正式;
详情里一般会指定公钥和签名的加密算法:
浏览器和nginx就https协议交互的大概流程如下:
1.浏览器判断是https请求,先加载证书到浏览器端
2.生成随机密码就行交互确认
3.后续都使用该密码进行加密交互
若不想用户使用http可做重定向设置:
server {
listen 443 ssl;
server_name study.xxxx.cn;
ssl_certificate /usr/local/nginx/conf/conf.d/1519440_study.xxxx.cn.pem; #证书公钥,可为pem,也可为crt
ssl_certificate_key /usr/local/nginx/conf/conf.d/1519440_study.xxxx.cn.key;#私钥
location / {
root html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name study.xxxx.cn;
rewrite ^/ https://study.xxxx.cn redirect;
location / {
root html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}