Nginx配置Https安全认证的实现


Posted in Servers onMay 26, 2021

1、Http与Https的区别

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

1)http访问:未认证在部分浏览器上访问是会提示不安全的,有安全隐患

Nginx配置Https安全认证的实现

2)https访问:认证后

Nginx配置Https安全认证的实现

Nginx配置Https

 一、安装nginx的SSL模块

1、配置ssl证书前,要确保你的nginx安装了ssl模块,一般情况下自己安装的nginx都是不存在ssl模块的。

检查自己的nginx是否安装了ssl模块

cd nginx的安装目录sbin下输入

./nginx -V

Nginx配置Https安全认证的实现

如果有出现红框中的信息,证明有安装。

2、没有安装ssl模块的情况

进入你的nginx解压后的目录(不是nginx安装目录),输入

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

接下来执行

make  #切记不要执行make install 否则会重新安装nginx

3、进入objs文件夹,文件夹中存在nginx文件,替换掉sbin下的nginx

#如果开启了nginx先进入sbin中停掉nginx服务
./nginx -s stop #停止nginx服务
# cp 压缩后的nginx路径(你自己的)  安装的nginx路径(你自己的) 
cp /root/nginx/objs/nginx /usr/local/ngin/sbin

4、成功之后,进入nginx安装目录,查看ssl是否安装成功

./nginx -V
#权限不足可执行给nginx权限
chmod 111 nginx

二、配置SSL证书

阿里云可申请免费的ssl证书,具体可百度(证书一般是pem和key文件)

1、将证书上传到一个文件夹中(自定义)

mkdir -p /nginx/card-key-pem

Nginx配置Https安全认证的实现

2、配置ssl,进入nginx安装目录中的conf文件中

cd /usr/local/nginx/conf
vim nginx.conf
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
server {
        listen       443;  #监听443端口
        server_name  www.qingfenginn.top; 	#你的域名

        ssl on;		#开启ssl
        ssl_certificate /root/nginx/card-key-pem/5386933_www.qingfenginn.top.pem;	#你上传的ssl证书的pem文件路径
        ssl_certificate_key /root/nginx/card-key-pem/5386933_www.qingfenginn.top.key; 	#你上传的ssl证书的key文件路径

        location / {	#访问路径
           #反向代理到你的项目 http://公网地址:端口
           proxy_pass http://www.qingfenginn.top:81; 
        }
 }


server {
        listen 80;	#监听80端口
        server_name www.qingfenginn.top;
		#将请求转成https
        rewrite ^(.*)$ https://$host$1 permanent; 
    }
}

注意:配置完后,nginx会同时监听443端口和80端口,443端口需要在安全组开发端口

3、重启nginx,使配置生效

进入sbin目录

先校验一下配置文件是否正确

./nginx -t

Nginx配置Https安全认证的实现

在启动nginx

./nginx -s reload //重启
./nginx -s stop  //停止
./nginx			//启动

之后就可以用你的域名访问了

到此这篇关于Nginx配置Https安全认证的实现的文章就介绍到这了,更多相关Nginx配置Https认证内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
apache基于端口创建虚拟主机的示例
Apr 24 Servers
nginx配置文件使用环境变量的操作方法
Jun 02 Servers
nginx作grpc的反向代理踩坑总结
Jul 07 Servers
Tomcat用户管理的优化配置详解
Mar 31 Servers
Consul在linux环境的集群部署
Apr 08 Servers
阿里云k8s服务升级时502错误 springboot项目应用
Apr 09 Servers
CentOS7安装GlusterFS集群以及相关配置
Apr 12 Servers
nginx日志格式分析和修改
Apr 28 Servers
centos7安装mysql5.7经验记录
May 02 Servers
阿里云服务器部署RabbitMQ集群的详细教程
Jun 01 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
Nginx如何获取自定义请求header头和URL参数详解
Jul 23 Servers
nginx部署多前端项目的几种方法
Nginx如何配置Http、Https、WS、WSS的方法步骤
May 11 #Servers
windows下快速安装nginx并配置开机自启动的方法
uwsgi+nginx代理Django无法访问静态资源的解决
May 10 #Servers
教你快速开启Apache SkyWalking的自监控
Apache Calcite 实现方言转换的代码
Apr 24 #Servers
apache基于端口创建虚拟主机的示例
Apr 24 #Servers
You might like
PHP缓存技术的使用说明
2011/08/06 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
Symfony的安装和配置方法
2016/03/17 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
使用js画图之画切线
2015/01/12 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
node内置调试方法总结
2018/02/22 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
python数据结构之二叉树的建立实例
2014/04/29 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
python实现神经网络感知器算法
2017/12/20 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
德国综合购物网站:OTTO
2018/11/13 全球购物
HashMap和Hashtable的区别
2013/05/18 面试题
什么是方法的重载
2013/06/24 面试题
最新大学生自我评价
2013/09/24 职场文书
经销商会议欢迎词
2014/01/11 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
工作收入住址证明
2014/10/28 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
MySQL Server 层四个日志
2022/03/31 MySQL
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA