Nginx的https功能和防盗链

目录

一.HTTPS功能简介

二.https自签名证书

三.防盗链


一.HTTPS功能简介

Web网站的登录页面都是使用https加密传输的,加密数据以保障数据的安全,HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议,HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。

nginx 的https 功能基于模块ngx_http_ssl_module实现,因此如果是编译安装的nginx要使用参数ngx_http_ssl_module开启ssl功能,但是作为nginx的核心功能,yum安装的nginx默认就是开启的,编译安装的nginx需要指定编译参数--with-http_ssl_module开启

在Nginx中,HTTPS是通过SSL/TLS协议来实现加密和安全通信的功能。以下是Nginx中使用HTTPS的简要介绍:

  1. SSL/TLS支持:Nginx内置了对SSL/TLS协议的支持,可以用来加密客户端和服务器之间的通信,确保数据传输的隐私和安全。

  2. 证书配置:为了启用HTTPS,你需要配置SSL证书,包括公钥、私钥以及可能的中间证书。Nginx需要这些证书来进行加密通信。

  3. 监听HTTPS端口:与HTTP服务不同,HTTPS服务默认运行在443端口上。你需要配置Nginx监听443端口,并将HTTPS流量引导到相应的站点或应用程序。

  4. SSL配置:Nginx提供了一系列的SSL配置选项,用于控制加密算法、协议版本、会话缓存等参数。这些配置可以影响服务器与客户端之间的加密通信方式。

  5. HTTP到HTTPS的重定向:通常情况下,你可能希望将所有的HTTP请求重定向到HTTPS,以确保访问安全。Nginx可以通过配置来实现这种重定向。

  6. 性能优化:Nginx提供了一些优化选项,比如SSL会话缓存、OCSP Stapling等,用于提高HTTPS通信的性能和安全性。

总的来说,Nginx通过其灵活的配置和强大的性能,在实现HTTPS功能时提供了丰富的选项和功能。使用Nginx作为HTTPS服务器可以帮助你实现安全的加密通信,并保护网站和应用程序的数据安全。

https参数

ssl on | off;   
#为指定的虚拟主机配置是否启用ssl功能,此功能在1.15.0废弃,使用listen [ssl]替代
listen 443 ssl;ssl_certificate /path/to/file;
#指向包含当前虚拟主机和CA的两个证书信息的文件,一般是crt文件ssl_certificate_key /path/to/file;
#当前虚拟主机使用的私钥文件,一般是key文件ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; 
#支持ssl协议版本,早期为ssl现在是TLS,默认为后三个ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
#配置ssl缓存off: #关闭缓存none:  #通知客户端支持ssl session cache,但实际不支持builtin[:size]:#使用OpenSSL内建缓存,为每worker进程私有[shared:name:size]:#在各worker之间使用一个共享的缓存,需要定义一个缓存名称和缓存空间大小,一兆可以存储4000个会话信息,多个虚拟主机可以使用相同的缓存名称ssl_session_timeout time;
#客户端连接可以复用ssl session cache中缓存的有效时长,默认5m

二.https自签名证书

1.修改配置文件

[root@localhost ~]# cd /etc/pki/tls/
[root@localhost tls]# ls
cert.pem  certs  misc  openssl.cnf  private
[root@localhost tls]# cd  certs/
[root@localhost certs]# pwd
/etc/pki/tls/certs
[root@localhost certs]# ls
ca-bundle.crt  ca-bundle.trust.crt  make-dummy-cert  Makefile  renew-dummy-cert
[root@localhost certs]# vim Makefile 
#找到第57行/usr/bin/openssl genrsa -aes128 $(KEYLEN) > $@
将这一行复制粘贴到下一行,复制的内容删除掉  -aes128  密码
将57行注释掉

2.使用make编译生成证书

3.将秘钥和证书复制到/opt下

[root@localhost certs]# cp  www.* /opt/
[root@localhost certs]# cd /opt
[root@localhost opt]# ls
nginx-1.18.0  nginx-1.18.0.tar.gz  rh  www.zxy.com.crt  www.zxy.com.key

4.编辑子配置文件

5.重新启动nginx

真机访问https://192.168.240.12

三.防盗链

防盗链基于客户端携带的referer实现,referer是记录打开一个页面之前记录是从哪个页面跳转过来的标记信息,如果别人只链接了自己网站图片或某个单独的资源,而不是打开了网站的整个页面,这就是盗链,referer就是之前的那个网站域名

none:#请求报文首部没有referer首部,比如用户直接在浏览器输入域名访问web网站,就没有referer信息
blocked:#请求报文有referer首部,但无有效值,比如为空 
server_names:#referer首部中包含本主机名及即nginx 监听的server_name
arbitrary_string:#自定义指定字符串,但可使用*作通配符。
示例: *.kgc.org www.kgc.*  www.baidu.com
egular expression:#被指定的正则表达式模式匹配到的字符串,要使用~开头
例如:~.*\.kgc\.com

实现防盗链:

1.客户机切换到主站点下,编辑配置文件并重启nginx服务

yum安装主站点地址:cd  /usr/share/nginx/html

[root@localhost ~]# cd /usr/share/nginx/html/
[root@localhost html]# ls
404.html  50x.html  en-US  icons  img  index.html  nginx-logo.png  pc.conf  poweredby.png
[root@localhost html]# vim  index.html<html>
<body>
<h1>this is zhumulangmafeng  </h1>
<img src="http://www.zmlmf.com/b.jpg"/>
</body>
</html>
[root@localhost html]# systemctl restart nginx

2.服务器上切换到子配置文件目录,编辑子配置文件,并重启nginx服务

[root@localhost conf.d]# cd /apps/nginx/conf.d/
[root@localhost conf.d]# 
[root@localhost conf.d]# cd /apps/nginx/conf.d/
[root@localhost conf.d]# vim zmlmf.confserver  {listen  80;server_name  www.zmlmf.com;root  /data/nginx/zmlmf;
}

3.切换到子配置文件中的站点,拖入图片并改名为b.jpg

[root@localhost conf.d]# cd /data/nginx/zmlmf
[root@localhost zmlmf]# ls
b.jpg  

4.验证真机是否能够通过客户机查看到图片b.jpg

访问192.168.240.11

5.设置防盗链

server  {listen  80;server_name  www.zmlmf.com;root  /data/nginx/zmlmf;location  ~* \.(jpg|gif|swf|jpeg|bmp)$ {valid_referers  none  blocked  *.zmlmf.com  zmlmf.com;if ( $invalid_referer ) {#rewrite  ^/ http://192.168.240.12/error.png;return   403;
}
}
}

6.重启nginx服务后,真机再次访问192.16.240.11,出现403报错

7.给防盗链添加访问失败图片

开启子配置文件中  #rewrite  ^/ http://192.168.240.12/error.png;

关闭  #return  403

在服务器主站点拖入图片并改名为error.png

重新启动nginx服务

8.真机访问192.168.240.11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/345069.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

postgresql根据某个字段去重获取整行数据

背景&#xff1a;在一些情况下我们需要对数据进行去重统计&#xff0c;group by就行&#xff0c;但是一些特殊情况下我们要根据某个字段去重之后获取非聚合字段的值&#xff0c;这个时候在mysql非严格模式下可以直接执行&#xff0c;但是在严格模式和postgresql里面是直接报错的…

蓝桥杯--跑步计划

问题描述 小蓝计划在某天的日期中出现 11 时跑 55 千米&#xff0c;否则只跑 11 千米。注意日期中出现 11 不仅指年月日也指星期。 请问按照小蓝的计划&#xff0c;20232023 年小蓝总共会跑步锻炼多少千米?例如&#xff0c;55 月 11 日、11 月 1313 日、1111 月 55 日、44 月…

使用 Scapy 库编写 TCP RST 攻击脚本

一、介绍 TCP RST攻击是一种拒绝服务攻击&#xff08;Denial-of-Service, DoS&#xff09;类型&#xff0c;攻击者通过伪造TCP重置&#xff08;RST&#xff09;包&#xff0c;中断目标主机与其他主机之间的TCP连接。该攻击利用了TCP协议中的重置机制&#xff0c;强制关闭合法的…

数据结构:旋转数组

方法1 &#xff08;三次逆置法&#xff09;&#xff1a; void reverse(int* nums, int start, int end) {while (start < end) {int temp nums[start];nums[start] nums[end];nums[end] temp;start;end--;} }void rotate(int* nums, int numsSize, int k) {k k % numsS…

Android14 WMS-窗口绘制之relayoutWindow流程(一)-Client端

Android14 WMS-窗口添加流程(一)-Client端-CSDN博客 Android14 WMS-窗口添加流程(二)-Server端-CSDN博客 经过上述两个流程后&#xff0c;窗口的信息都已经传入了WMS端。 1. ViewRootImpl#setView 在窗口添加流程(一)中&#xff0c;有这个方法&#xff1a; http://aospxref…

Threejs加载DOM+CSS到场景中,实现3D场景展示2D平面的效果

1. 前言 本篇文章主要实现了将DOM元素转换为Threejs可以使用的数据结构,使用CSS2DRenderer渲染器渲染这些DOMCSS的平面,使其可以作为一个物体添加到Threejs场景里 如下效果图: 2. 实现步骤 首先创建一个ThreejsVueVite的项目,作为本次的demo项目下载Threejs第三方库 yarn…

初识 peerDependencies

目录 初步认识 peerDependencies semver 介绍 # 摘要 # 简介 # 语义化版本控制规范&#xff08;SemVer&#xff09; # 合法语义化版本的巴科斯范式语法 # 为什么要使用语义化的版本控制&#xff1f; # FAQ 示例讲解&#xff1a;vue-router 插件 # 说明 声明 验证 初…

Hive知识体系保姆级教程

一. Hive概览 1.1 hive的简介 Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供类SQL查询功能。 其本质是将SQL转换为MapReduce/Spark的任务进行运算&#xff0c;底层由HDFS来提供数据的存储&#xff0c;说白了h…

野火FPGA跟练(四)——串口RS232、亚稳态

目录 简介接口与引脚通信协议亚稳态RS232接收模块模块框图时序波形RTL 代码易错点Testbench 代码仿真 RS232发送模块模块框图时序波形RTL 代码Testbench 代码仿真 简介 UART&#xff1a;Universal Asynchronous Receiver/Transmitter&#xff0c;异步串行通信接口。发送数据时…

python机器人编程@我从0开始搭建了一个色块自动抓取机器人,并实现了大模型的接入和语音控制——(上基础篇)

目录 1、前言2、仿真环境的搭建3、仿真环境资源链接4、总结1、前言 在现代社会中,机器人技术正变得越来越普遍和重要。机器人的自动化能力使其能够在许多不同的领域发挥作用,例如生产线、医疗保健和家庭助理等。本系列将着重介绍如何搭建一个自动色块抓取机器人。 首先,我…

四种跨域解决方案

文章目录 1.引出跨域1.基本介绍2.具体演示1.启动之前学习过的springboot-furn项目2.浏览器直接访问 [localhost:8081/furns](http://localhost:8081/furns) 可以显示信息3.启动前端项目&#xff0c;取消请求拦截器&#xff0c;这样设置&#xff0c;就会出现跨域4.跨域原因 2.跨…

【小白专用24.6.8】C# 异步任务Task和异步方法async/await详解

一、什么是异步 同步和异步主要用于修饰方法。当一个方法被调用时&#xff0c;调用者需要等待该方法执行完毕并返回才能继续执行&#xff0c;我们称这个方法是同步方法&#xff1b;当一个方法被调用时立即返回&#xff0c;并获取一个线程执行该方法内部的业务&#xff0c;调用…

电脑缺失msvcp110.dll文件的解决方法,总结5种靠谱的方法

在计算机使用过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“找不到msvcp110.dll”。这个错误提示通常出现在运行某些软件时&#xff0c;那么&#xff0c;它究竟会造成哪些问题呢&#xff1f; 一&#xff0c;msvcp110.dll文件概述 msvcp110.dll是Mic…

实验八、地址解析协议《计算机网络》

水逆退散&#xff0c;学业进步&#xff0c;祝我们都好&#xff0c;不止在夏天。 目录 一、实验目的 二、实验内容 &#xff08;1&#xff09;预备知识 &#xff08;2&#xff09;实验步骤 三、实验小结 一、实验目的 完成本练习之后&#xff0c;您应该能够确定给定 IP 地…

WEB-Wordlist-Generator:为扫描后的Web应用生成相关联的字典

关于WEB-Wordlist-Generator WEB-Wordlist-Generator是一款功能强大的字典生成工具&#xff0c;该工具旨在帮助广大研究人员扫描目标Web应用程序并生成与之相关联的字典文件&#xff0c;从而允许我们对相关的网络威胁行为执行预备性应对策略。 功能介绍 当前版本的WEB-Wordli…

区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测

区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测 目录 区间预测 | Matlab实现QRCNN-BiGRU-Attention分位数回归卷积双向门控循环单元注意力机制时序区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实…

计算机组成原理之计算机系统层次结构

目录 计算机系统层次结构 复习提示 1.计算机系统的组成 2.计算机硬件 2.1冯诺依曼机基本思想 2.1.1冯诺依曼计算机的特点 2.2计算机的功能部件 2.2.1MAR 和 MDR 位数的概念和计算 3.计算机软件 3.1系统软件和应用软件 3.2三个级别的语言 3.2.1三种机器语言的特点 3…

如何将 Windows图片查看器的背景颜色改成浅色(灰白色)?

现在大家基本都在使用Win10系统&#xff0c;我们在双击查看图片时&#xff0c;系统默认使用系统自带的图片&#xff08;照片&#xff09;查看器去打开图片。图片查看器的背景色默认是黑色的&#xff0c;如下所示&#xff1a;&#xff08;因为大家可能会遇到同样的问题&#xff…

【报文数据流中的反压处理】

报文数据流中的反压处理 1 带存储体的反压1.1 原理图1.2 Demo 尤其是在NP芯片中&#xff0c;经常涉及到报文的数据流处理&#xff1b;为了防止数据丢失&#xff0c;和各模块的流水处理&#xff1b;因此需要到反压机制&#xff1b; 反压机制目前接触到的有两种&#xff1a;一是基…

接口自动化Requests+Pytest基础实现

目录 1. 数据库以及数据库操作1.1 概念1.2 分类1.3 作用 2 python操作数据库的相关实现2.1 背景2.2 相关实现 3. pymysql基础3.1 整个流程3.2 案例3.3 Pymysql工具类封装 4 事务4.1 案例4.2 事务概念4.3 事务特征 5. requests库5.1 概念5.2 角色定位5.3 安装5.4 校验5.5 reques…