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 #### ############################ }
相关推荐
这个配置允许其他计算机通过FTP协议访问服务器的D盘`ftp`子目录下的文件。 首先,我们要理解Nginx如何与FTP集成。通常,Nginx不直接支持FTP服务,而是通过HTTP或HTTPS提供静态内容。但是,通过反向代理功能,Nginx...
在本文中,我们将深入探讨`nginx.conf`配置文件中的`root`目录设置问题。`root`指令是Nginx配置中的核心部分,它用于定义服务器返回请求时的文件系统路径。正确设置`root`对于确保Nginx能够正确服务静态文件和动态...
首先,当我们运行Docker容器时,通常会用`-v`参数来挂载宿主机的目录到容器内,以便于我们能直接在宿主机上编辑配置文件或查看日志,如`/Docker/nginx/conf/nginx.conf`挂载到`/etc/nginx/nginx.conf`,`/Docker/...
- 修改`nginx.conf`:找到`nginx.conf`配置文件,一般位于`nginx安装目录/conf`下。在`http`块或者`server`块下添加如下配置: ```nginx server { listen 443 ssl; server_name yourdomain.com; ssl_...
综上所述,Nginx的配置文件"nginx.conf"涵盖了上述各项功能,而"nginx.txt"说明文件可能提供了更详细的解释和示例。了解并熟练掌握这些配置,能够帮助我们更好地管理和优化Nginx服务器,提升Web服务性能。
在提供的压缩包中,"nginx.conf"是Nginx的主要配置文件,包含了服务器的全局设置、RTMP模块配置以及Lua扩展的配置。配置文件可能包括以下部分: 1. **RTMP模块配置**:定义RTMP服务器的基本设置,如监听端口、应用名...
反向代理是Nginx的一个重要功能,允许我们将请求代理到其他服务器上。在这个例子中,我们使用`include`指令来包含反向代理的配置文件`proxy.conf`。在这个文件中,我们可以指定反向代理的服务器、端口、协议等信息。...
1.查看80端口是否被占用,一般80端口多被apache服务占用。 netstat -anp|grep 80 2.修改apache服务的端口号 ...以上所述是小编给大家介绍的linux服务器上使用nginx访问本地静态资源的方法,希望对大家有所帮助!
`.htaccess`文件是Apache服务器中的一个配置文件,它允许用户在不修改主服务器配置的情况下,通过放置在网站根目录下实现对网站行为的定制,如URL重写、访问权限控制等。而Nginx服务器则使用`nginx.conf`来定义类似...
在Nginx中,可以通过配置文件(如`nginx.conf`和`nginx(ip_hash).conf`)来定义服务器的行为,如反向代理规则和负载均衡策略。 2. **反向代理**:反向代理是指Nginx作为客户端与服务器之间的中间层,接收来自客户端...
Nginx的配置文件nginx.conf允许管理员控制服务器的行为,从最基本的参数设置到复杂的负载均衡策略。本文将详细介绍Nginx配置文件中的常用配置方法,从而帮助初学者快速上手搭建和管理Nginx服务器。 首先,我们需要...
Nginx以其灵活的配置结构著称,允许通过配置文件定义服务器块来管理多个域或子域。在1.24.0中,你可以调整监听端口、设置SSL证书、定义重定向规则,并利用负载均衡策略分散流量。 2. **HTTP/2支持** Nginx 1.24.0...
1. **配置文件**:Nginx通过配置文件`nginx.conf`来定义其行为。在这个集成的版本中,可能已经预设了RTMP模块的相关配置,例如监听端口、流处理规则等。如果需要自定义设置,可以编辑这个文件。 2. **RTMP推流**:...
在维护方面,Nginx的配置文件通常位于/etc/nginx/nginx.conf中,而网站特定的配置文件则放在/etc/nginx/sites-available/目录下,且通过软链接关联到/etc/nginx/sites-enabled/目录下。这种配置方式使得管理和修改...
在CentOS 6.7上,我们需要创建一个新的yum源配置文件`nginx.repo`,并启用Nginx仓库,然后执行`yum install nginx -y`来安装Nginx。 安装完成后,可以使用`service nginx start`启动Nginx服务,并通过访问服务器的...
- `rlimit_core = 0`:限制核心转储文件的大小,0表示不允许创建。 以上只是`php-fpm.conf`配置文件中的一部分选项,实际文件中还包含更多细节和自定义设置。理解并合理配置这些参数对于优化PHP-FPM的性能、安全性...
3. **配置Nginx**: 编辑Nginx的配置文件,通常是`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/default`,创建一个新的server块来处理PHP请求。以下是一个基本配置示例: ``` server { listen 80; ...
目录遍历攻击是一种常见的Web安全威胁,攻击者尝试通过在URL中添加特定的路径或文件名,如"../"或"/*53.pdf",来访问服务器上原本不应该公开的目录和文件。这种攻击可能导致数据泄露、服务中断甚至完全控制服务器。...
5. **配置Nginx**:Nginx的配置文件通常位于`/usr/local/nginx/conf/nginx.conf`。你可以在此文件中定义虚拟主机、监听端口、日志文件路径等。例如,添加一个简单的虚拟主机配置: ``` server { listen 80; ...
2. conf目录:包含了Nginx的配置文件,如nginx.conf,这是Nginx的全局配置文件,用于定义服务器的行为、监听的端口、虚拟主机等。 3. logs目录:存放Nginx的日志文件,如access.log和error.log,分别记录客户端的...