Nginx服务性能和安全优化

这篇具有很好参考价值的文章主要介绍了Nginx服务性能和安全优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、配置Nginx隐藏版本相关信息

1.隐藏版本号

2.修改版本号及相关信息

​编辑​编辑

二、修改Nginx运行时的属主和属组

三、配置Nginx网页缓存时间

四、配置Nginx站点日志分割

五、设置Nginx长连接及超时时间

六、配置Nginx网页压缩

七、配置Nginx防盗链

1.模拟盗链

2.配置防盗链并测试


一、配置Nginx隐藏版本相关信息

1.隐藏版本号

修改 nginx.conf 文件,在http块中添加字段后,重载服务

Nginx服务性能和安全优化

获取报文信息并查看(浏览器查看或使用命令)

Nginx服务性能和安全优化

2.修改版本号及相关信息

如果做了上一步在nginx.conf 中添加了 server_tokens off 需要注释掉!!

修改源码信息(修改完需要重新编译安装)

Nginx服务性能和安全优化

(修改的只是显示的信息,并不是真正修改版本和信息)

Nginx服务性能和安全优化

重新编译安装

​
cd /opt/ngnginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
​
make && make install
​
systemctl restart nginx.service


​

获取报文信息并查看

Nginx服务性能和安全优化

二、修改Nginx运行时的属主和属组

修改 nginx.conf 文件

Nginx服务性能和安全优化

查看nginx运行用户发生改变(默认为nobody)

Nginx服务性能和安全优化

三、配置Nginx网页缓存时间

当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度;

一般针对静态网页设置,对动态网页不设置缓存时间。

修改 nginx.conf 文件 ,在http块 或server块 或location块中添加 expires 参数

 # ~ 代表使用正则表达式,后面匹配的是以|分割的字符结尾的文件
location ~ \.(gif|jpg|jpeg|png|mp4|mp3|txt)$ {       
            root   html;
            expires 1d;    #代表缓存时间为1天
}

Nginx服务性能和安全优化

Nginx服务性能和安全优化

添加图片,访问测试

Nginx服务性能和安全优化

查看报文信息,86400代表1天,设置生效

Nginx服务性能和安全优化

 

 

四、配置Nginx站点日志分割

编写脚本(因为放在后一天凌晨执行,所以获取前一天的日期)

Nginx服务性能和安全优化

执行并测试

Nginx服务性能和安全优化

加入计划任务

Nginx服务性能和安全优化

五、设置Nginx长连接及超时时间

keepalive_timeout

指定KeepAlive的超时时间(timeout)。指定每个tcp连接最多可以保持多长时间,服务器将会在这个时间后关闭连接。

Nginx的默认值是65秒,有些浏览器最多只保持60秒,所以可以设定为 60秒。若将它设置为0,就禁止了keepalive连接。 ​ 第二个参数(可选的)指定了在响应头keepalive_timeout 中的time值。这个头能够让一些浏览器主动关闭连接,这样服务器就不必去关闭连接了。没有这个参数,Nginx不会发送Keep-Alive响应头。

client_header_timeout 客户端向服务端发送一个完整的 request header的超时时间。如果客户端在指定时间内没有发送一个完整的 reqpuest header,Nginx 返回HTTP 408(RequestTimed out ) 。

client_body_timeout 指定客户端与服务端建立连接后发送request body的超时时间。如果客户端在指定时间内没有发送任何内容,Nginx返回 HTT 408(Request Timed out) 。

修改 nginx.conf 文件

Nginx服务性能和安全优化

检查语法并重启服务

Nginx服务性能和安全优化

访问并查看请求报文(保持连接,且浏览器超时时间为50s)

Nginx服务性能和安全优化

六、配置Nginx网页压缩

Nginx的ngx http gzip module压缩模块提供对文件内容压缩的功能。 允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装,可在配置文件中加入相应的压缩功能参数对压缩性能进行优化。

gzip on; 取消注释,开启gzip压缩功能
gzip_min_length 1k; 最小压缩文件大小 1k
gzip_buffers 4 64k; 压缩缓冲区,大小为4个64k缓冲区
gzip_http_version 1.1; 压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_comp_level 6; 压缩比率(1~9等级)
gzip_vary on; 支持前端缓存服务器存储压缩页面
gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json; 压缩类型,表示哪些网页文档启用压缩功能

Nginx服务性能和安全优化

检查语法并重启服务

Nginx服务性能和安全优化

准备页面并访问测试

Nginx服务性能和安全优化

 

七、配置Nginx防盗链

1.模拟盗链

192.168.116.10为www.abc.com; 192.168.116.20为www.def.com;

www.def.com模拟盗取www.abc.com的网页图片;

使用windows主机访问两个网站。

配置域名解析(为了方便这里修改/etc/hosts文件)

Nginx服务性能和安全优化

Nginx服务性能和安全优化

Nginx服务性能和安全优化

在www.def.com的首页添加图片

Nginx服务性能和安全优化

 

在www.abc.com的首页盗取此站点图片

Nginx服务性能和安全优化

 

2.配置防盗链并测试

修改 nginx.conf 文件,如果有缓存配置,需要在缓存配置之前加上

location ~* .(gif|jpg|jpeg|png|swf)$ { ... }

~代表使用正则表达式 ,*代表不区分大小写(location选项中不能包含防盗链图片的格式)

vaild_referers ...

代表设置受信任的网站,匹配到的将不会做防盗链。

none

允许没有http_refer的请求访问资源(根据Referer的定义,它的作用是指示一个请求是从哪里链接过来的,如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer字段的),如http://www.def.com/error.webp。 blocked

允许不是http://开头的,不带协议的请求访问资源。

$invalid_referer

就是vaild_referers指定的站点范围取反,即非信任站点

if判断当地址满足$invalid_referer的范围,则指定条件中的语句,

即 rewrite ^/ http://www.def.com/error.webp; 重写访问的url为指定url。

Nginx服务性能和安全优化

Nginx服务性能和安全优化

在www.def.com下上传防盗链的图片

Nginx服务性能和安全优化

再次访问测试www.abc.com,变成了指定的防盗链图片

Nginx服务性能和安全优化文章来源地址https://www.toymoban.com/news/detail-507672.html

到了这里,关于Nginx服务性能和安全优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务 - Nginx网关 · 进程机制 · 限流熔断 · 性能优化 · 动态负载 · 高可用

    系列目录 微服务 - 概念 · 应用 · 架构 · 通讯 · 授权 · 跨域 · 限流 微服务 - Consul集群化 · 服务注册 · 健康检测 · 服务发现 · 负载均衡 微服务 - Redis缓存 · 数据结构 · 持久化 · 分布式 · 高并发 微服务 - Nginx网关 · 进程机制 · 限流熔断 · 性能优化 · 动态负载 · 高可用

    2024年02月02日
    浏览(71)
  • 【业务功能篇86】微服务-springcloud-系统性能压力测试-jmeter-性能优化-JVM参数调优-Nginx实现动静分离

      压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,

    2024年02月07日
    浏览(69)
  • nginx通过配置文件来进行的安全方面优化

    目录 1、隐藏版本号 2、配置错误页面重定向 3、添加header防止XSS攻击 4、利用referer图片防盗链 5、拒绝某些user-agent 6、限制HTTP请求方法 7、nginx开启https 8、控制迸发连接数 说明: 由于某些 Nginx 漏洞只存在于特定的版本,隐藏版本号可以提高安全性。 Nginx隐藏版本信息配置示

    2024年02月08日
    浏览(43)
  • Web服务器群集:Nginx网页及安全优化

    目录 一、理论 1.Nginx网页优化 2.Nginx安全优化 3.Nginx日志分割 二、实验 1.网页压缩 2.网页缓存 3.连接超时设置 4.并发设置 5.隐藏版本信息  6.脚本实现每月1号进行日志分割 7.防盗链 三、总结 (1)概述 在企业中,部署Nginx后只采用默认的配置参数,会引发网站很多问题,换言

    2024年02月13日
    浏览(45)
  • Nginx(动静分离、分配缓冲区、资源缓存、防盗链、资源压缩、IP黑白名单、大文件传输配置、跨域配置、高可用、性能优化)

    首先通过SpringBoot+Freemarker快速搭建一个WEB项目:springboot-web-nginx,然后在该项目中,创建一个IndexNginxController.java文件,逻辑如下: index.ftl页面 从响应中获取了port输出 nginx.conf配置文件修改 至此,所有的前提工作准备就绪,紧接着再启动Nginx,然后再启动两个web服务,第一个

    2024年02月09日
    浏览(42)
  • 【运维安全】运维界葵花宝典:Nginx配置与优化秘籍

    必要的原理介绍 ● Nginx 里有一个master进程和多个worker进程.master进程并不处理网络请求,主要负责调度工作进程: 加载配置,启动工作进程及非停升级.worker进程负责处理网络请求与响应. ● master进程主要用来管理worker进程,具体包括如下4个主要功能: 接收来自外界的信号 向各wo

    2024年02月21日
    浏览(50)
  • Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化

    Nginx Proxy Manager 是一个开源的反向代理工具,不需要了解太多 Nginx 或 Letsencrypt 的相关知识,即可快速将你的服务暴露到外部环境,并且支持 SSL 配置。基于 Tabler 的美观且安全的管理界面,无需了解 Nginx 即可轻松创建转发域、重定向、流和 404 主机。 下面介绍在Linux 安装Nginx

    2024年02月08日
    浏览(49)
  • 配置Nginx作为静态资源服务器及安全策略

    上一篇文章写了Nginx负载均衡实现方案详解,有同学私信我说能不能写一篇关于nginx代理静态资源的文章。当然没问题,这篇文章就分享一下如何配置Nginx作为静态资源服务器同时也分享一些常用的安全策略配置。 静态资源指的是在服务器端存储的不会变化的文件,这些文件的

    2024年02月21日
    浏览(50)
  • Redis服务端优化(持久化配置、慢查询、命令及安全配置、内存配置)

    漏洞:Redis未授权访问配合SSH key文件利用分析-腾讯云开发者社区-腾讯云 (tencent.com) 漏洞出现的核心的原因有以下几点 Redis未设置密码 利用了Redis的config set命令动态修改Redis配置 使用了Root账号权限启动Redis 查看客户端缓冲信息的命令 info clients client list

    2024年01月23日
    浏览(41)
  • Nginx 性能优化

    如果一个静态资源的过大,传输起来肯定越慢,并且会占用大量带宽,因此在项目部署时可以通过 Nginx 对于静态资源实现压缩传输。 Nginx 提供了三个支持资源压缩的模块 ngx_http_gzip_module、ngx_http_gzip_static_module、ngx_http_gunzip_module ,其中 ngx_http_gzip_module 属于内置模块。 开启资

    2023年04月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包