`
stephen830
  • 浏览: 2998132 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

nginx.conf中配置上不允许访问的网站目录

 
阅读更多

 

 

nginx.conf 配置中有个漏洞,那就是没有配置哪些目录是不允许直接访问的,在传统tomcat作为服务器的时候,tomcat本身的机制就禁止直接访问WEB-INF下的内容,但是在nginx中,由于配置了部分内容直接从nginx转发出去,这就导致了WEB-INF目录实际上可能会被暴露出去,一旦暴漏了,那么系统架构,源代码,数据库配置文件,系统配置文件等内容将一并泄露,这对于商业项目来讲会是致命的安全隐患,再次提醒自己以及相关人士,一定要配置不允许访问的目录。

 

为此,必须在nginx.conf中配置上不允许访问的网站目录。

 

不允许访问配置方式如下:

 

       location ~ ^/(WEB-INF|META-INF)/{
                deny all;
        }

 

 

一个完整的nginx.conf例子:

 

user root;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  10240;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 16 64k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types application/json text/plain text/css;
    gzip_vary on;

    fastcgi_intercept_errors on;

	upstream tomcat_server {
	   server   127.0.0.1:8080;
#      server   127.0.0.1:8081;
#      server   127.0.0.1:8082;
	}


############################
########   server start ####
############################
    server {
        listen       80;
        server_name  www.xxx.com;
        root    /data/www/www.xxx.com;

        location /{
        	index index.htm index.html index.jsp;
        }

        location ~ ^/(WEB-INF|META-INF)/{
                deny all;
        }

        location ~ \.(jsp|do)?$ {
	        proxy_set_header Host  $host:80;
	        proxy_set_header X-Forwarded-For  $remote_addr;
	        proxy_pass http://tomcat_server;
    	}

    	location ~ .*\.(js|css|gif|jpg|jpeg|png|bmp|swf)$ {
	        expires 24h;
	    }

        if (!-e $request_filename){
                rewrite "^/a/eg/([0-9]+)/([0-9]+)/([0-9]+)$" /api/eventlog.do?game_id=$1&platform_id=$2&channel_id=$3 last;
                rewrite "^/games/game_([0-9]+)\.html$" /games/game_show.jsp?id=$1 last;
        	rewrite "^/games/page_([0-9]+)\.html$" /games/index.jsp?p=$1 last;
        	rewrite "^/games/category_([0-9]+)\.html$" /games/index.jsp?c=$1 last;
        	rewrite "^/games/category_([0-9]+)/page_([0-9]+)\.html$" /games/index.jsp?c=$1&p=$2 last;
        	rewrite "^/blogs/blog_([0-9]+)\.html$" /blogs/blog_show.jsp?id=$1 last;
        	rewrite "^/blogs/page_([0-9]+)\.html$" /blogs/index.jsp?p=$1 last;
        	rewrite "^/blogs/category_([0-9]+)\.html$" /blogs/index.jsp?c=$1 last;
        	rewrite "^/blogs/category_([0-9]+)/page_([0-9]+)\.html$" /blogs/index.jsp?c=$1&p=$2 last;
        	rewrite "^/links/category_([0-9]+)\.html$" /links/index.jsp?c=$1 last;
        }
    }
############################
########   server end   ####
############################
}

 

 

 

分享到:
评论

相关推荐

    nginx FTP服务(nginx.conf已经配置到了D:\\ftp目录,可自行更改)

    这个配置允许其他计算机通过FTP协议访问服务器的D盘`ftp`子目录下的文件。 首先,我们要理解Nginx如何与FTP集成。通常,Nginx不直接支持FTP服务,而是通过HTTP或HTTPS提供静态内容。但是,通过反向代理功能,Nginx...

    docker里面nginx目录挂载启动失败

    首先,当我们运行Docker容器时,通常会用`-v`参数来挂载宿主机的目录到容器内,以便于我们能直接在宿主机上编辑配置文件或查看日志,如`/Docker/nginx/conf/nginx.conf`挂载到`/etc/nginx/nginx.conf`,`/Docker/...

    nginx的各项详细配置-超多注释

    综上所述,Nginx的配置文件"nginx.conf"涵盖了上述各项功能,而"nginx.txt"说明文件可能提供了更详细的解释和示例。了解并熟练掌握这些配置,能够帮助我们更好地管理和优化Nginx服务器,提升Web服务性能。

    搭建nginx-rtmp点播服务器,包含nginx.conf的lua扩展

    在提供的压缩包中,"nginx.conf"是Nginx的主要配置文件,包含了服务器的全局设置、RTMP模块配置以及Lua扩展的配置。配置文件可能包括以下部分: 1. **RTMP模块配置**:定义RTMP服务器的基本设置,如监听端口、应用名...

    详解nginx.conf 中 root 目录设置问题

    在本文中,我们将深入探讨`nginx.conf`配置文件中的`root`目录设置问题。`root`指令是Nginx配置中的核心部分,它用于定义服务器返回请求时的文件系统路径。正确设置`root`对于确保Nginx能够正确服务静态文件和动态...

    Nginx完整配置说明

    反向代理是Nginx的一个重要功能,允许我们将请求代理到其他服务器上。在这个例子中,我们使用`include`指令来包含反向代理的配置文件`proxy.conf`。在这个文件中,我们可以指定反向代理的服务器、端口、协议等信息。...

    linux服务器上使用nginx访问本地静态资源的方法

    1.查看80端口是否被占用,一般80端口多被apache服务占用。 netstat -anp|grep 80  2.修改apache服务的端口号 ...以上所述是小编给大家介绍的linux服务器上使用nginx访问本地静态资源的方法,希望对大家有所帮助!

    webarx-nginx-rules:.htaccess规则已转换为webarx的nginx.conf

    `.htaccess`文件是Apache服务器中的一个配置文件,它允许用户在不修改主服务器配置的情况下,通过放置在网站根目录下实现对网站行为的定制,如URL重写、访问权限控制等。而Nginx服务器则使用`nginx.conf`来定义类似...

    Nginx Tomcat集群部署说明

    在Nginx中,可以通过配置文件(如`nginx.conf`和`nginx(ip_hash).conf`)来定义服务器的行为,如反向代理规则和负载均衡策略。 2. **反向代理**:反向代理是指Nginx作为客户端与服务器之间的中间层,接收来自客户端...

    Nginx配置文件nginx.conf的常用配置方法

    Nginx的配置文件nginx.conf允许管理员控制服务器的行为,从最基本的参数设置到复杂的负载均衡策略。本文将详细介绍Nginx配置文件中的常用配置方法,从而帮助初学者快速上手搭建和管理Nginx服务器。 首先,我们需要...

    nginx 1.7.11.3.zip

    1. **配置文件**:Nginx通过配置文件`nginx.conf`来定义其行为。在这个集成的版本中,可能已经预设了RTMP模块的相关配置,例如监听端口、流处理规则等。如果需要自定义设置,可以编辑这个文件。 2. **RTMP推流**:...

    Nginx配置.docx

    在CentOS 6.7上,我们需要创建一个新的yum源配置文件`nginx.repo`,并启用Nginx仓库,然后执行`yum install nginx -y`来安装Nginx。 安装完成后,可以使用`service nginx start`启动Nginx服务,并通过访问服务器的...

    php-fpm.conf配置文件中文翻译注释

    - `rlimit_core = 0`:限制核心转储文件的大小,0表示不允许创建。 以上只是`php-fpm.conf`配置文件中的一部分选项,实际文件中还包含更多细节和自定义设置。理解并合理配置这些参数对于优化PHP-FPM的性能、安全性...

    使用nginx支持php

    3. **配置Nginx**: 编辑Nginx的配置文件,通常是`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/default`,创建一个新的server块来处理PHP请求。以下是一个基本配置示例: ``` server { listen 80; ...

    Web应用安全:Nginx禁止目录列出配置.pptx

    目录遍历攻击是一种常见的Web安全威胁,攻击者尝试通过在URL中添加特定的路径或文件名,如"../"或"/*53.pdf",来访问服务器上原本不应该公开的目录和文件。这种攻击可能导致数据泄露、服务中断甚至完全控制服务器。...

    windows下nginx配置https以及同一个端口监听多个网站即监听多个虚拟主机

    - 修改`nginx.conf`:找到`nginx.conf`配置文件,一般位于`nginx安装目录/conf`下。在`http`块或者`server`块下添加如下配置: ```nginx server { listen 443 ssl; server_name yourdomain.com; ssl_...

    Nginx安装包.zip

    5. **配置Nginx**:Nginx的配置文件通常位于`/usr/local/nginx/conf/nginx.conf`。你可以在此文件中定义虚拟主机、监听端口、日志文件路径等。例如,添加一个简单的虚拟主机配置: ``` server { listen 80; ...

    nginx-1.18.0.zip

    2. conf目录:包含了Nginx的配置文件,如nginx.conf,这是Nginx的全局配置文件,用于定义服务器的行为、监听的端口、虚拟主机等。 3. logs目录:存放Nginx的日志文件,如access.log和error.log,分别记录客户端的...

    nginx-1.24.0

    Nginx以其灵活的配置结构著称,允许通过配置文件定义服务器块来管理多个域或子域。在1.24.0中,你可以调整监听端口、设置SSL证书、定义重定向规则,并利用负载均衡策略分散流量。 2. **HTTP/2支持** Nginx 1.24.0...

    nginx-1.17.10.zip

    - `conf`: 配置文件目录,包括主配置文件`nginx.conf`和其它子配置文件。 - `logs`: 日志文件存放位置。 - `html`: 默认的网页根目录,存放静态文件。 - `objs`: 编译生成的二进制对象文件。 - `modules`: 可能包含...

Global site tag (gtag.js) - Google Analytics