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 相关文章推荐
Nginx反爬虫策略,防止UA抓取网站
Mar 31 Servers
nginx服务器的下载安装与使用详解
Aug 02 Servers
Linux安装apache服务器的配置过程
Nov 27 Servers
详解nginx安装过程并代理下载服务器文件
Feb 12 Servers
Nginx实现会话保持的两种方式
Mar 18 Servers
nginx共享内存的机制详解
Mar 21 Servers
配置Kubernetes外网访问集群
Mar 31 Servers
Kubernetes控制节点的部署
Apr 01 Servers
OpenStack虚拟机快照和增量备份实现方法
Apr 04 Servers
Nginx禁止ip访问或非法域名访问
Apr 07 Servers
nginx配置之并发频次限制
Apr 18 Servers
腾讯云服务器部署前后分离项目之前端部署
Jun 28 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存储过程调用实例代码
2013/02/03 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
node.js的事件机制
2017/02/08 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
python实现探测socket和web服务示例
2014/03/28 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
python获取外网ip地址的方法总结
2015/07/02 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
代码实例讲解python3的编码问题
2019/07/08 Python
Python测试模块doctest使用解析
2019/08/10 Python
python实现的自动发送消息功能详解
2019/08/15 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
Python根据服务获取端口号的方法
2019/09/25 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
Python包和模块的分发详细介绍
2020/06/19 Python
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
个人自我鉴定总结
2014/03/25 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android