linux系统nginx的https的跳转
环境:系统ubuntu16 申请证书是腾讯云免费证书
首先我在安装nginx SSL证书的时候犯了个错误,nginx是需要安装SSl的模块不然没法配置完成。需要安装一个 http_ssl_module.这是自己踩了一个坑,如果不加上的话,在后面配置完配置文件检查时就会报这个错
查看原有的模块,重新编译
安装SSL编译
这里注意只需要make
备份二进制文件,这一步我是看网上的,没感觉有什么用,这里我选择删了试试,我删除后服务并没有受到影响,仍然能继续访问。
清除nginx安装包
开启nginx
上传证书解压
解压后文件一共有这么多,进入nginx目录后发现两个秘钥,把它们拷贝到/usr/local/nginx/conf的目录里面
crt是证书文件,分为两段
key是私钥文件,分为两段
配置nginx/conf/nginx.conf的文件
默认在第98行
配置文件如下
server {
listen 443 ssl;
server_name www.fengxiao.xyz;#绑定证书的域名
ssl_certificate 1_www.fengxiao.xyz_bundle.crt;#证书
ssl_certificate_key 2_www.fengxiao.xyz.key;#秘钥
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#ssl这个协议配置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
检查nginx配置是否正确
接下来就是见证奇迹的时刻,访问不到,为啥了,没有重启nginx,重启nginx后,访问https
但是有个问题来了,不是自动跳转,接下来需要配置自动跳转,如果不输入https默认访问的还是http。在conf的配置文件里nginx.conf的 server字段里加入
检查配置重启
测试访问 www.fengxiao.xyz