linux系统nginx的https的跳转

时间:2022-07-07 19:44:20

环境:系统ubuntu16 申请证书是腾讯云免费证书

首先我在安装nginx SSL证书的时候犯了个错误,nginx是需要安装SSl的模块不然没法配置完成。需要安装一个 http_ssl_module.这是自己踩了一个坑,如果不加上的话,在后面配置完配置文件检查时就会报这个错

linux系统nginx的https的跳转

查看原有的模块,重新编译

linux系统nginx的https的跳转

安装SSL编译

linux系统nginx的https的跳转

这里注意只需要make

linux系统nginx的https的跳转

备份二进制文件,这一步我是看网上的,没感觉有什么用,这里我选择删了试试,我删除后服务并没有受到影响,仍然能继续访问。

linux系统nginx的https的跳转

linux系统nginx的https的跳转

linux系统nginx的https的跳转

清除nginx安装包

linux系统nginx的https的跳转

开启nginx

linux系统nginx的https的跳转

linux系统nginx的https的跳转

上传证书解压

linux系统nginx的https的跳转

解压后文件一共有这么多,进入nginx目录后发现两个秘钥,把它们拷贝到/usr/local/nginx/conf的目录里面

crt是证书文件,分为两段

key是私钥文件,分为两段

linux系统nginx的https的跳转

linux系统nginx的https的跳转

配置nginx/conf/nginx.conf的文件

默认在第98行

linux系统nginx的https的跳转

配置文件如下

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;
}
}

linux系统nginx的https的跳转

检查nginx配置是否正确

linux系统nginx的https的跳转

接下来就是见证奇迹的时刻,访问不到,为啥了,没有重启nginx,重启nginx后,访问https

linux系统nginx的https的跳转

但是有个问题来了,不是自动跳转,接下来需要配置自动跳转,如果不输入https默认访问的还是http。在conf的配置文件里nginx.conf的 server字段里加入

linux系统nginx的https的跳转

检查配置重启

linux系统nginx的https的跳转

测试访问 www.fengxiao.xyz