Nginx基本安全配置(防盗连、隐藏版本号、防嵌套等)

在生产环境中nginx有很多安全方案,我在为生产环境部署中得到很多经验,收集到的一些常用配置,简单记录一下。

安装Nginx

正常安全Nginx大家应该都会,但是各位要知道在安全要求很高的生产环境中,是无网络安装的,(当然有些有内网源就简单很多了),所以要自己上传文件上去安装,缺什么依赖没法用命令安装像是yum install或者apt-get install是无法使用的,这里简单说下,等有空再详细说下无网络安装,这里简单说下。

下载编译需要的库源码

安装顺序编译安装以下库源码即可安装Nginx

  1. openssl
  2. pcre
  3. zlib
  4. Nginx

注意Nginx安装的时候配置下需要的库免得到时候重新编译安装

cd nginx-1.21.6
./configure --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-stream
make
make install

这样Nginx就算是安装好了 默认安装路径在/usr/local/nginx

隐藏版本号

正常Nginx默认配置是会显示版本号的信息的如下

只需要在Nginx配置文件中(如nginx.conf)的http{}加入以下参数即可

#隐藏版本号
server_tokens off;

然后显示就是这样的

完全不显示Nginx

这个需要修改Nginx源码来实现,具体可以Google搜下

防止被嵌套iframe

location /下加入以下属性即可

# 拒绝IFrame嵌套
add_header X-Frame-Options SAMEORIGIN;

限制ip访问

同样在location /下加入以下属性即可

# 限制IP访问
allow 192.168.1.0/24;
allow 这里填IP;
deny all;

防盗连

这个是这次部署中了解到的技术,之前还真不知道有这功能 说白了就是防止别的ip或者域名访问静态资源,比如壁纸,总不能部署的壁纸被别人拿去免费当图床吧?

http{}下加入如下配置

# 防盗连
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)nbsp;{
    root html;
    valid_referers none blocked rakers.top; # 这里填写允许的IP或域名
    if ($invalid_referer) {
        rewrite ^/ http://127.0.0.1/; #这里填资源地址ip或域名
        #return 404;
    }
}


版权声明:本文为「诚哥博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://www.chengzz.com/497.html

相关文章

nginx location配置

nginx location配置location 指令语法location [modifier] [URI] {# 配置块}modifier:匹配修饰符,决定了匹配的类型和优先级。URI:要匹配的请求...

网页服务-Nginx - 修改默认网站存储路径

基本环境底层: Windows 11 x64 虚拟化层:VMWare Workstation 17.0.2 虚拟化兼容性:ESXi 6.7 虚拟硬件: CPU: 4 Core RAM:...

Nginx的路径匹配规则

=,精确匹配^~,匹配以xx开头~,正则匹配,区分大小写~*,正则匹配,不区分大小写!~,正则不匹配,区分大小写!~*,正则不匹配,不区分大小写/ 通配,所有没有匹配的,按当前规则处理 优先级: =...

nginx如何配置跨域

要在 Nginx 中配置跨域,可以使用 add_header 指令来添加 Access-Control-Allow-* 头信息,如下所示:location /api { if ($reques...

在nginx配置文件中设置nginx缓存

可以按照以下步骤进行操作:1.打开nginx配置文件,一般在/etc/nginx/nginx.conf中2.在http段中添加以下内容:http { # 设置nginx缓存路径和缓存大小...

常规服务器环境怎么搭建及项目部署

一、引言在服务器环境搭建和项目部署过程中,需要进行一系列的配置和操作,以确保服务器的正常运行和项目的顺利部署。本文将详细介绍常规服务器环境搭建及项目部署的步骤。如果你没有服务器,没有技术,想要配置这个...