Articles of nginx

nginx -s stop和-s quit有什么区别?

我可以使用nginx -s stop或nginx -s quit来停止nginx服务器。 有什么不同?

Nginx代理按请求方法

是否有可能/如何configuration一个Nginx位置块代理不同的后端取决于请求方法(即GET / POST)? 原因是,我目前正在处理2个方法在2个不同的URL(一个通过http代理,另一个通过fcgi),并试图使其更加“rest”,所以,理想情况下,将获得资源返回列表而POSTing到相同的资源应该添加到列表中。

Nginx重启问题

所有突然重新启动Nginx时出现以下错误: 重新启动nginx:[alert]:无法打开错误日志文件:open()“/var/log/nginx/error.log”失败(13:权限被拒绝) 只有当主进程以超级用户权限运行时,“user”指令才有意义,在/etc/nginx/nginx.conf中忽略:1 configuration文件/etc/nginx/nginx.conf语法正常 2011-02-16 17:20:58 [emerg] 23925#0:open()“/var/run/nginx.pid”失败(13:Permission denied) configuration文件/etc/nginx/nginx.conftesting失败 在网站的前端部分加载,但一些文件,如特别是CSS没有加载。 它们存在于服务器上,但是当直接在Chrome中加载资源时,他们会说“无法find这个页面”。 我设置了一个特殊的组和用户来运行我的域名文件使用suexec我的Apache文件。 我认为nginx是由根拥有,但我认为是问题,但nginx文件的所有权我会改变?

如何限制Nginx的Auth_Basic重试?

我用Nginx的Auth_Basic模块保护了一个web文件夹。 问题是,我们可以尝试几个密码,直到它工作(蛮力攻击)。 有没有办法限制失败的重试次数?

在nginx中使用SAMLauthentication

我想使用现有的SAML 2.0 IdP来限制对使用nginx提供的一些静态内容的访问。 (在Apache中,这可以通过mod_mellon或mod_auth_saml等模块来完成) 对nginx上的静态内容使用SAML身份validation的最佳方法是什么? 如果仍然使用X-Accel头文件 ,那么是否有一个帮助程序脚本来代理SAML身份validation,还是需要从头开始?

在+200个并发连接之后NGINX超时

这是我的nginx.conf (我已经更新configuration,以确保没有涉及PHP或任何其他瓶颈): user nginx; worker_processes 4; worker_rlimit_nofile 10240; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; error_log /var/www/log/nginx_errors.log warn; port_in_redirect off; server_tokens off; sendfile on; gzip on; client_max_body_size 200M; map $scheme $php_https { default off; https on; } index index.php; client_body_timeout 60; client_header_timeout 60; keepalive_timeout 60 60; send_timeout 60; server { server_name […]

反向代理在nginx中的子目录

我想为我的Heroku应用程序在我的VPS上设置一个反向代理( http://lovemaple.heroku.com )所以如果我访问mysite.com/blog我可以得到http://lovemaple.heroku.com中的内容 我遵循Apache维基上的说明。 location /couchdb { rewrite /couchdb/(.*) /$1 break; proxy_pass http://localhost:5984; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 我改变了它适合我的情况: location /blog { rewrite /blog/(.*) /$1 break; proxy_pass http://lovemaple.heroku.com; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 当我访问mysite.com/blog ,页面显示出来,但无法获取js / css文件(404)。 他们的链接变成了mysite.com/style.css而不是mysite.com/blog/style.css 。 怎么了,我该如何解决?

在nginx proxy_pass中禁用IPv6

我的服务器没有IPv6地址。 但是,当我使用Nginx的proxy_pass与IPv4和IPv6上游,有时它会尝试使用IPv6发送传出请求: 2013/07/30 00:25:06 [error] 1930#0: *1482670 connect() to [AAAA:BBBB:C:DDD:E:F:GGG:HHH]:443 failed (101: Network is unreachable) while connecting to upstream, client: AA.BB.CC.DD, server: example.com, request: "GET /download/file HTTP/1.0", upstream: "https://[AAAA:BBBB:C:DDD:E:F:GGG:HHH]:443/download/file", host: "example.com" 如何在proxy_pass中为传出请求禁用IPv6? nginx.conf: upstream download { server download.example.com:443; keepalive 8; } location /download { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Connection ""; proxy_ignore_headers X-Accel-Redirect; proxy_http_version 1.1; resolver […]

为什么在与proxy_pass配合使用时,sub_filter似乎不起作用?

鉴于nginx的以下configuration: server { listen 80; server_name apilocal; sub_filter "apiupstream/api" "apilocal"; sub_filter_once off; location /people/ { proxy_pass http://apiupstream/api/people/; proxy_set_header Accept-Encoding ""; } } Sub_filter没有正确回应响应的部分。 一旦我从configuration中删除proxy_pass,它工作正常。 很多有这个问题的人最终从上游服务器进行gzip压缩。 我已经validation,我的上游服务器没有启用gzip编码的响应。 但为了以防万一,我也使用上面的proxy_set_header不接受gzip。 有没有可能的东西我错过了?

理解这个错误:apr_socket_recv:连接重置由同级(104)

所以,如果我用apache基准(ab)做一些基准testing,并且使用大量的请求。 然后有时在testing中间,我得到这个错误。 我甚至不知道这是什么意思。 那我该如何解决呢? 或者,如果服务器得到太多的命中,这只会发生? 问题是,如果我运行10,000次命中,它将完全运行。 如果我再次运行,它会达到4000,并得到错误: apr_socket_recv: Connection reset by peer (104) 有关我的设置:我有nginx静态请求和处理dynamic的阿帕奇。 有问题的文件是由nginxcaching提供的,所以我猜这可能与nginx如何处理请求有关。 想法?