HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
申请证书: 可到阿里云、腾讯云申请免费证书。
安装证书: 下载证书后会看到如下几个文件夹,我们只需要用到nginx里面的.crt和.key文件
查看ngixn版本极其编译参数
/usr/local/nginx/sbin/nginx -V
若没有安装ssl模块,重编译安装ssl模块
./configure --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
make
千万别make install,否则就覆盖安装了
make完之后在objs目录下就多了个nginx,这个就是新版本的程序了
备份旧的nginx程序
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
把新的nginx程序覆盖旧的
cp objs/nginx /usr/local/nginx/sbin/nginx
测试新的nginx程序是否正确
/usr/local/nginx/sbin/nginx -t
修改nginx配置文件: 将证书上传到/usr/local/nginx/ssl下,若没有自己建立一个ssl文件夹 在server模块中添加以下代码:
代码语言:javascript复制 listen 80;
listen 443 ssl;
server_name www.51it.wang;
# 证书(公钥.发送到客户端的)server.crt表示证书名字和后缀
ssl_certificate /usr/local/nginx/ssl/www.51it.wang.crt;
#私钥, server.key表示文件名称
ssl_certificate_key /usr/local/nginx/ssl/www.51it.wang.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#启用更多的计算模式
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
以上配置http和https都可访问,若要强制https,加入ssl on;
参考文章: https://www.cnblogs.com/zhming26/p/6278667.html https://blog.csdn.net/revitalizing/article/details/55271848