nginx post请求超时_Nginx服务器拒绝post请求

本文介绍了Nginx的相关配置。当路径含/html时,屏蔽PUT、DELETE、POST方法,仅用GET保证安全;给出禁止访问txt、doc文件的全局和目录设置方法;还能禁止特定浏览器访问;此外,可设置上传目录无脚本执行权限,防止非法上传脚本获取webshell。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Publish: May 27, 2015

Category: 文档

No Comments

upstream tomcat {

ip_hash;

server 192.168.2.187:8080;

}

location ~* /html {

if ($request_method = PUT ) {

return 403;

}

if ($request_method = DELETE ) {

return 403;

}

if ($request_method = POST ) {

return 403;

}

proxy_method GET;

proxy_pass http://tomcat;

}

当路径包含/html的时候,则代理到server后端进行请求数据。这里屏蔽了PUT,DELETE,POST方法,只是使用了GET,主要目的是为了安全性,因为DELETE,POST,PUT是可以修改数据的。

或者:limit_except GET {

allow 192.168.1.1;

deny all;

if ($request_filename ~ /test/index.html) {

# return 404;

rewrite ^/(.*) /index.html;

}

};

nginx禁止访问txt|doc文件

方法一:全局设置,禁止访问任何以后缀txt|doc的文件

location ~* \.(txt|doc)$ {

deny all;

}

方法二:只禁止访问某目录下的txt|doc

location ~* \.(txt|doc)$ {

if (-f $request_filename) {

root html/job;

break;

}

}

nginx禁止某中浏览器访问:#浏览器类型可从日志得知。

server

{

listen 80;

server_name test.domain.com;

index index.php index.html;

root /opt/nginx/html/;

if ( $http_user_agent ~* "MSIE 6.0" ) {

return 403;

}

设置目录执行权限

在windows+iis下,可以设置上传目录,类似:upload,uploadfile,attachments,这样的目录下面无脚本执行权限,从而防止非法用户上传脚本得到webshell

nginx上也很简单,我们使用location 如下:

location ~ ^/upload/.*\.(php|php5)$

{

deny all;

}

其中upload换为你要设置的目录名字

这条规则的含义是匹配请求连接中开头是/upload/,中间匹配任意字符,结尾匹配.php或者.php5的页面,最后利用deny all禁止访问,这样就防止了上传目录的脚本执行权限

请为这篇文章评分:

( 已有 1 人评分, 平均得分: 5 分 )

Tags: nginx

Related Posts:

### 解决Nginx无法处理POST请求的方法 当遇到Nginx无法正常接收或处理POST请求的情况时,可以从多个角度进行排查和优化设置。以下是详细的解决方案: #### 配置文件调整 为了确保Nginx能够正确处理较大的POST数据包,在`http`, `server` 或者 `location`上下文中增加客户端最大主体大小限制参数[^1]。 ```nginx client_max_body_size 8M; ``` 此指令定义了允许的最大请求体尺寸,默认情况下该值较小,可能不足以支持某些大型上传操作的需求。适当增大这个数值可以有效减少因提交的数据量过大而导致的失败情况发生。 #### 调整缓冲区设置 有时HTTP POST 请求中的大量数据可能会触发 Nginx 的内部缓存机制出现问题。可以通过修改以下两个选项来改善性能并防止潜在的问题: - **client_body_buffer_size**: 设置读取客户端请求主体部分使用的缓冲区大小。 - **client_header_buffer_size**: 设定用于存储来自客户机的消息头信息所占用的空间数量。 合理的配置这两个参数有助于提高服务器对于不同类型负载下的响应效率以及稳定性. ```nginx client_body_buffer_size 128k; client_header_buffer_size 1k; ``` #### 增加工作进程数与连接超时时间 如果应用程序频繁接收到大量的并发POST请求,则有必要考虑提升Nginx的工作线程数目及其保持活动状态的时间长度。这不仅有利于增强系统的吞吐能力,而且还可以避免由于长时间等待造成的资源浪费现象出现。 ```nginx worker_processes auto; keepalive_timeout 65; sendfile on; tcp_nopush on; tcp_nodelay on; ``` 上述配置项中,`worker_processes`可以根据CPU核心自动分配最优的工作进程数;而其他几个命令则是用来优化TCP/IP协议栈的行为模式以适应高频率交互场景的要求。 #### 排查上游服务问题 考虑到很多情况下POST请求最终会被转发给后端应用服务器(如PHP-FPM, uWSGI等),因此还需要仔细检查这些组件的状态是否良好运行。特别是要注意查看日志记录里是否有任何报错提示或是异常行为存在。例如,如果是通过FastCGI接口传递过来的话,那么就应当重点审查php.ini里的cgi.fix_pathinfo等相关设定是否合理恰当[^3]。 另外,还需确认后端程序本身有没有因为内存泄漏等原因导致崩溃重启从而影响到整个链路的服务质量。针对Java环境可能出现的栈溢出错误java.lang.OutOfMemoryError: unable to create new native thread也需要特别留意,并采取相应措施加以防范[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值