Articles of nginx

Nginx $ document_root $ fastcgi_script_name vs $ request_filename

如果在我设置的configuration文件中,我不能注意到任何区别 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 要么: fastcgi_param SCRIPT_FILENAME $request_filename; 他们分别做什么? 其中一个比另一个好吗? 提前致谢。

为什么没有横向扩展的软件负载均衡器平衡ssl的例子?

我有一堆关于ssl,本地会话和负载平衡的问题,这些问题似乎是相互关联的,所以我对这个问题的长度提前道歉。 我有一个使用基于文件的会话的网站。 网站的性质大部分是http,但有些章节是ssl。 目前,由于基于文件的会话,任何ssl请求都必须与之前的任何http请求相同的服务器。 由于时间的限制,我想做最简单的事情来负载平衡增加http和sslstream量。 粘性负载均衡algorithm似乎有两个选项: 基于IP 基于cookie 基于IP的解决scheme可能会工作,但哈希algorithm可能会改变服务器,当服务器宕机或添加这是当前基于文件的会话设置不可取的服务器。 我还假设用户在浏览网站时合法地更改ips在技术上是可行的。 基于cookie的algorithm似乎更好,但是当sslencryption时无法检查cookie看起来呈现出自己的问题。 我一直在search如何负载平衡ssl的例子,我似乎无法find任何明确的例子,可以做基于cookie的负载平衡,并可以通过增加另一个ssl解码器来处理增加ssl负载的设置。 我见过的大多数显式示例都有位于浏览器客户端和负载平衡器之间的ssl解码器(通常是硬件,apache_mod_ssl或nginx)。 这些例子通常看起来像这样(从http://haproxy.1wt.eu/download/1.3/doc/architecture.txt中修改): 192.168.1.1 192.168.1.11-192.168.1.14 ——- + ———– + —– + —– + —– + | | | | | + – + – + + – + – + + – + – + + – + – + + – + – […]

使用nginx与SNI

到目前为止,我还没有用nginx来使用SNI。 但是,由于IP地址池相当充足,商业XP支持即将停止(最终),我正在考虑将几个网站转换为SNI。 我意识到SNI(XP问题,非常古老的浏览器)可能带来的一般限制和缺陷。 但除此之外,还有什么我应该知道的? 像 – 与使用SNI相关的陷阱 – 与最近(着名的!)浏览器的问题/错误

限制上传文件大小,并将用户redirect到错误页面,如果超过限制

是否有可能将用户redirect到file too big页面 当POST请求大小超过指定的限制? 我知道max-request-size选项,但是它只给出了不能被重载的静态页面。 我想创build一个重写规则 内容大小从请求主体作为input并redirect到错误页面 UPDATE 现在我们使用nginx作为前端。 有什么新build议?

Nginx:成千上万的server_name

我怎么能configurationNginx限制到成千上万的不同server_name,而无需创build数千个外部configuration文件或写一个很长的server_name行? 事实上,我希望Nginx只能作为server1.com,server2.com等的反向代理。 对我来说最好的解决scheme是有一个包含我的受限server_names的外部configuration文件:server1.com,server2.com等… 可能吗 ? 好的,谢谢你的回答,它没有注册。 expression式。 只是一个大的server_name列表,由kolbijack解释。 谢谢。

Nginx的limit_req设置中突发的定义是什么?

这有什么区别: limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s; limit_req zone=flood nodelay 和: limit_req_zone $binary_remote_addr zone=flood:10m rate=30r/s; limit_req zone=flood burst=5 nodelay 文档http://wiki.nginx.org/HttpLimitReqModule 。

将uWSGI连接到Ubuntu 16.04上的Django和nginx

我正在试图按照这个教程来设置Ubuntu 16.04上的Django和nginx uWSGI 。 这一切工作正常,直到最后一步(哦,讽刺…),我试图执行此命令: sudo service uwsgi start 如果失败,出现以下错误: 无法启动uwsgi.service:找不到单位uwsgi.service。 其他人似乎也得到了类似的错误: 无法启动uwsgi.service:单位uwsgi.service未能加载:没有这样的文件或目录。 这个问题似乎与Ubuntu的版本有关。 虽然这个教程是针对Ubuntu 14.04的,但它似乎不适用于较新的版本,因为在版本15中,Ubuntu从upstart init守护进程切换到了systemd init守护进程 。 我怎样才能使用systemd来启动uWSGI,以便它与nginx和Django一起工作?

algorithm背后的nginx etag生成

在Nginx中用来生成etags的algorithm是什么? 他们现在看起来像“554b73dc-6f0d”。 它们是仅从时间戳生成的吗?

nginx uLimit'worker_connections超过打开的文件资源限制:1024'

我不断收到这个错误在nginx/error.log和它驱使我nginx/error.log了: 8096 worker_connections exceed open file resource limit: 1024 我已经尝试了所有我能想到的东西,并且无法弄清楚在这里限制nginx的是什么。 你能告诉我错过了什么吗? nginx.conf有这个: worker_processes 4; events { worker_connections 8096; multi_accept on; use epoll; } 我改变了我的系统的ulimit security/limits.conf像这样: # This is added for Open File Limit Increase * hard nofile 199680 * soft nofile 65535 root hard nofile 65536 root soft nofile 32768 # This is added for […]

Nginx – 如果有`nodelay`选项,定义`burst'的含义是什么

在Nginxconfiguration中,当您想通过使用limit_req_zone / limit_req instructions来限制请求处理速率时,我并不了解使用nodelay选项。 根据我的理解,它可以在不延迟的情况下终止高于规定的速率的请求。 所以它似乎相当于burst=0 。 这就是为什么我不理解下面的例子: limit_req zone=one burst=5 nodelay; burst定义了可能被延迟的请求的数量,那么如果有nodelay选项,那么定义burst的含义是什么?