Articles of 限制

你能为每秒nginx的请求设置一个例外吗?

我们尝试通过限制每秒的请求数来节省nginx资源: http { limit_req_zone $binary_remote_addr zone=gulag:10m rate=2r/s; server { location / { proxy_pass http://0.0.0.0:8181; limit_req zone=gulag burst=40; } } } 但是,我们公司的大部分员工也是我们自己网站的大用户。 由于公司里的每个人似乎都来自同一个IP地址,所以得到了503错误,因为nginx认为所有的stream量都来自一个用户。 我们可以添加我们的IP作为每秒请求限制的例外吗?

Nginx,html5audio和访问限制

我有一个(WordPress的)网站,我发布的MP3文件。 每个页面都有一个单独的mp3文件,可以通过下载button下载,或者通过内置的mediaelement.js播放器在页面上播放。 Mediaelement.jsconfiguration为先尝试闪光,然后回退到html5audio。 此外,我需要确保mp3只能由login用户下载。 我在我的nginx.conf中有以下规则: location ~* \.(mov|mp3)$ { if ($http_cookie !~ "wordpress_logged_in") { return 403; } add_header Content-Disposition "attachment"; } (add_header是需要文件开始下载,而不是点击下载button时播放,该button是直接链接到存储在服务器上的MP3文件。) 现在,在主要的桌面浏览器中,它的整体效果很好(cookie检查,播放器,点击下载部分)。 问题是 – audio播放器无法在Android下使用Chrome浏览器播放audio(使用html5audio而不是Flash) – 按下播放button时没有任何反应,就好像播放器找不到文件一样。 下载button正常工作。 如果我删除cookie检查,播放器在Chrome / Android中按预期开始工作。 我有一种感觉,我错过了这个设置中非常明显的一些东西,但是不能把我的手指放在上面。 我将不胜感激一些帮助。

如何使用node.js保护单个页面应用程序中的静态文件

Iam计划开发一个公共区域和一个私人区域的网站。 这个网站的两个区域将是独立的单页面应用程序与AngularJS实施。 我使用Node.js为前端创buildREST Web服务。 私人区域只能通过身份validation(用户名/密码)访问。 此外,需要身份validation来调用REST API调用。 公共区域的文件将存储在子文件夹/公共文件夹中,私人文件夹的文件存储在子文件夹/私人文件夹中。 我用nginx为公共区域提供静态文件。 我也想用nginx来提供私有区域的静态文件。 如何防止用户直接访问文件,如www.example.com/private/js/app.js 只有经过身份validation的用户才能打开/ private文件夹中的文件。

Nginx的速率限制和真正的IP模块

我有一个CDN +负载均衡器设置后面的Nginx服务器池。 CDNcachingHTTP“读取”请求(GET,HEAD,OPTIONS)并绕过“写入”请求(POST)。 我正在使用real_ip模块从X-FORWARD-FOR头获取客户端的IP地址,如下所示: set_real_ip_from <trusted_cidr1> set_real_ip_from <trusted_cidr2> … real_ip_recursive on; real_ip_header X-Forwarded-For; 它可以确认它的工作。 但是,我也想限制每个客户端的请求率(我会假设每个IP都是一个不同的客户端),为了避免机器人和攻击,所以我使用的是limit_req模块,如下所示: http { limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s; location / { limit_req zone=perip burst=5; } } 所以,我的问题是:将$ binary_remote_addr假设原来的客户端的IP,请求的真正的鼻祖,一旦我configuration了real_ip ,或内部Nginx不会覆盖,因为我期待? 因为如果没有,这样的configuration肯定会导致我严重的问题。 我想Nginx对于这一点已经足够聪明了,但是一旦我在文档上找不到确认,并且没有机会在真实的分布式场景中进行testing,我希望以前有经验的人可以这样做告诉我。 谢谢。

在如何让一个Linux进程只需创build和使用一个pipe道的时候需要奇怪的build议

海。 我正在做一个允许用户使用1%CPU的实验。 这就像你自己的Web服务器; 但一个大的dynamic远程执行框架(不要问这个),我不希望用户使用API​​函数,如创build文件,没有套接字,没有线程,没有控制台输出,什么都没有。 更新1:人们会发送我的二进制文件,所以interrupt 0x80是可能的。 所以…内核? 我需要限制一个进程,所以它不能做任何事情,只能使用一个pipe道 。 通过该pipe道,该过程将使用我自己的包装和控制的API。 这甚至可能吗? 我想像一个Linux内核模块。 限制内存和CPU的问题不是主要的,因为这是谷歌上的东西。 提前致谢!

在Linux中限制程序的内存使用

我是Linux和Terminal(或者它使用的任何types的命令提示符)的新手,我想控制一个进程可以使用的RAM数量。 我已经找了几个小时find一个易于使用的指南。 我有一些限制它的要求: 该程序的多个实例将运行,但我只想限制一些实例。 一旦超过限制,我不希望进程崩溃。 我希望它使用硬盘页面交换。 该程序将在WINE下运行,并且是一个.exe。 那么是否有人可以帮助使用该命令来限制Linux中进程的内存使用率?

每个IP地址限制数据包每分钟

只有使用IPTABLES,为了简单起见,如何将请求(例如ping)从同一台互联网主机限制到每分钟x个数据包,例如5?

太多打开的文件“无限”系统下的例外

在我的程序执行过程中,我遇到了太多打开的文件exception。 通常这些发生在以下forms: org.jboss.netty.channel.ChannelException: Failed to create a selector. … Caused by: java.io.IOException: Too many open files 但是,这不是唯一的例外。 我观察到类似的(由“太多打开的文件”引起的),但那些频率较低。 奇怪的是,我已经设置了屏幕会话(我从哪里启动我的程序)的打开文件的限制为1M: root@s11:~/fabiim-cbench# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 20 file size (blocks, -f) unlimited pending signals (-i) 16382 max locked memory (kbytes, -l) 64 max memory […]

Linux中每个进程的最大打开文件数

我使用命令:ulimit -n,我采取数字1024,这是我的系统中每个进程打开文件的最大数量。 但下面的程序我拿510 …? 哪里不对 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <errno.h> int main( void ) { int pipe_ext = 0, pfd[ 2 ], counter = 0; while ( 1 ) { pipe_ext = pipe( pfd ); //errno = 0; if ( pipe_ext == 0 ) { write( pfd[ 1 ], "R", […]

OpenCV无法从Linux上超过8个networking摄像机捕获

OpenCV无法在Linux上打开8个以上摄像头的VideoCaptures。 这里有个简单的例子: # "opencap.py" import cv2, sys dev = int(sys.argv[1]) cap = cv2.VideoCapture(dev) print "device %d: %s" %(dev, "success" if cap.isOpened() else "failure") 对于我的设置(OpenCV 2.4.11,Ubuntu 14.04),例如,9个摄像头,opencap.py成功的前8个摄像头(0-7),但最后一个我得到 > python opencap.py 8 HIGHGUI ERROR: V4L: index 8 is not correct! device 8: failure 注意: v4l2-ctl –list-devices正确列出了9个摄像头(/ dev / video0,…,/ dev / video8)。