Questions tagged «nginx»

Nginx(“ eNgine x”)是一种轻量级的高性能HTTP服务器,反向代理,TCP流代理和邮件代理,在类似BSD的许可证下发布。

2
反向SSH隧道
我试图将网络流量从远程服务器转发到本地计算机,以测试一些API集成(tropo,paypal等)。基本上,我正在尝试设置类似于tunnlr.com提供的内容。 我已经使用以下命令启动了ssh隧道 $ssh –nNT –R :7777:localhost:5000 user@server 然后我可以看到服务器现在正在使用以下端口监听7777端口: user@server:$netstat -ant | grep 7777 tcp 0 0 127.0.0.1:7777 0.0.0.0:* LISTEN tcp6 0 0 ::1:7777 :::* LISTEN $user@server:curl localhost:7777 Hello from local machine 这样就可以了。实际上,curl请求是从本地计算机提供的。 现在,如何启用通过该隧道路由server.com:8888? 我试过像这样使用nginx: upstream tunnel { server 0.0.0.0:7777; } server { listen 8888; server_name server.com; location / { access_log …

3
Nginx + Php5-fpm无法呈现php文件
我花了好几个小时弄清楚如何安装Nginx + Ruby企业版+ PHP5-fpm和MYSQL,终于全部安装好了,而且一切似乎都已经开始了。 但是由于某些原因,php文件未得到处理。 .html文件可以正常工作,但是当我尝试查看.php文件时,即使它存在,它似乎也不存在。有趣的是,当我尝试查看不存在的.html文件时,会收到一条不错的Nginx 404消息,但是当我查看.php文件时,甚至没有得到。 因此,据我的新手了解,似乎配置有问题,或者Nginx和PHP-fpm没有互相交谈。 我一直在看nginx配置文件的许多其他示例,并且我确定事情的一切都还可以。好吧...这还是conf文件的相关部分: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/eman/$fastcgi_script_name; include fastcgi_params; } 和 fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; 任何帮助是极大的赞赏。 编辑:这是从测试php文件“ http://eman.id.au/test.php ” 返回的标头: HTTP/1.1 404 Not Found …
8 linux  nginx  php5  php-fpm 

1
我如何观察nginx在做什么?(解决:“ 1024个worker_connections不够”)
我在nginx上运行的流量非常低的站点,有4个工作线程,每个连接1024个。 我每隔几个小时开始在错误日志中看到“ 1024 worker_connections不够”,并且我的网站变慢/变黄了。Nginx重新启动可以在接下来的几个小时内完全解决该问题。 显然,正在发生奇怪的事情,我无法为我的应用程序的4k并发用户提供服务。 除了查看访问日志(看起来很正常)之外,还有没有办法更详细地观察nginx在做什么? 是否存在一些臭名昭著的配置组合,这些组合组合可能导致旧连接保持打开状态而不是关闭状态? 谢谢。 编辑 这看起来不对 # lsof |grep nginx |grep CLOSE_WAIT |wc -l 1271
8 nginx  lsof 

2
nginx反向代理,何时使用缓存与存储?
我正在将项目的Web堆栈重组为:nginx-> haproxy->许多(apache / passenger rails)实例 一些目标包括: 用于页面缓存的单个位置(当前通过每台apache机器上的导轨完成) 更快的静态内容 从内部管道中删除SSL ip日志记录(以前由于在tcp模式下运行haproxy而丢失) 图像/样式表/ javascript资源已缓存,带有适当的标题。我们的页面缓存基于内部参数,并且不应响应典型的缓存控件。为了达到这些目的,我们的配置看起来像 server { ... location /really_slow_dynamic_content/ { root /var/www/tmp; error_page 404 = @fetch; } location @fetch { internal; proxy_pass haproxy_ip; proxy_store /var/www/tmp${uri}_cache.html; proxy_store_access user:rw group:rw all:r; } location /assets/ { proxy_pass haproxy_ip; proxy_cache assets; } location / { proxy_pass …
8 nginx 


5
Nginx + Apache尾部斜杠重定向[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为服务器故障的主题。 5年前关闭。 我有一个Nginx在80端口上运行的服务器,正在作为要Apache 2.2侦听的代理127.0.0.1:8080 当我访问http://hostname/subfolder/它时效果很好。 当我访问http://hostname/subfolder它时,会将我重定向到http://hostname:8080/subfolder/错误的地方。 据我看到了错误的重定向被Apache返回,但UseCanonicalName并UseCanonicalPhysicalProxy都设置为Off 关于如何解决该问题的任何想法?

4
nginx子域重写
另一个Nginx重写规则问题 我怎样才能做一个重写的http://www.*.domain.com到http://*.domain.com? 提前致谢 -黛比 编辑: 对不起,我没有看到纺织品格式从我的问题中删除了*。我现在修复了。我需要做的是从www.joe.domain.com转到joe.domain.com,其中joe可以是任何单词。
8 nginx  rewrite 

1
NGINX基本身份验证仅适用于POST
我正在设置nginx来服务Mercurial存储库。当完全不使用基本身份验证时,或者当我完全使用基本身份验证时,它可以工作。 我想做的是仅对POST请求使用基本身份验证,因此任何人都可以访问请求,但只有经过身份验证的用户才能进行推送。 我尝试了以下方法 if ($request_method = POST) { auth_basic "Restricted"; auth_basic_user_file /path/to/userfile } 但是,它抱怨“此处不允许使用auth_basic指令”。 我该如何解决?

6
PHP-CGI开始提供空白页
我的PHP-CGI没有明显的原因开始提供空白页面,直到我重新启动该过程。 我想知道为什么。 不幸的是,默认情况下,PHP的“生产”配置文件没有error_log。我的Nginx错误日志也没有显示与PHP相关的错误。这可能是没有希望的情况,但我只是以防万一。 这是我的设置 Nginx 0.8.2 带有Suhosin-Patch 0.9.6.2(cli)的PHP 5.2.6-3ubuntu4.1(内置:2009年4月23日14:37:14) PHP APC 3.0.19-2 spawn-fcgi v1.6.2(ipv6)-lighttpd的fastcgi包装器 有什么想法可能导致错误吗? 更新资料 我认为我已经隔离了问题。每当它开始消隐时,我一直在使用Monit自动重启PHP。我的PHP错误日志为空。 但是我发现,如果禁用了一个名为WP-SuperCache的Wordpress插件,我的PHP将每隔10个小时停止重置一次。到目前为止,我的PHP已经连续运行了3天。有人对此有任何建议吗?



1
nginx-我可以配置全局错误文档吗?
我有一个Nginx配置,带有很多server {}块。我想在它们之间共享错误页面,但是其中许多页面具有不同的文档根目录。我可以使用类似的配置 error_page 404 /404.html; error_page 500 502 503 504 /50x.html; 在服务器块之外并被共享,但是然后我必须将那些相同的文档放在所有根目录中,或者有类似的规则 location = /404.html { root /srv/http/errors; } location = /50x.html { root /srv/http/errors; } 在我所有的服务器块中 有没有一种方法可以共享这些文档,而不必一遍又一遍地重复自己或在文件系统中有很多副本?
7 nginx 

2
让Nginx通过HTTPS拒绝未知的服务器名称
我有一个使用SNI从单个IP服务多个HTTPS域的Nginx实例。 该设置的唯一故障是,每当请求服务器裸IP的URL或在该IP上列出的没有相应HTTPS服务器块的域时,Nginx都会使用第一个(默认)域进行响应。在这种情况下,我更愿意简单地返回一个标准的403 Forbidden -我会设置一个默认服务器块来执行此操作,但是我看不到解决客户端证书不匹配警告的方法。 (c | C)如何配置Nginx拒绝对未知/未定义域的请求,而无需指定特定的SSL证书,这会使浏览器不满意?(即,我需要Nginx拒绝使用403的请求,然后再使用“不良”证书来打乱客户端-从客户端的POV来看,这与根本没有定义HTTPS服务器块的情况相同)。
7 nginx  https  sni 

1
Nginx限制请求全局
我搜索了整个网站和Google,找不到我想要的东西。 目前我知道我们可以例如限制请求/ IP limit_req_zone $ binary_remote_addr zone = one:30m rate = 20r / s; 我们可以在任何想要的位置使用 limit_req区域=一个突发= 10节点布局; 我的问题是。如何同时限制所有IP的全局请求?简而言之,我有一个PHP-FPM位置,无论如何,我希望所有请求不超过200个请求/秒。 我想我们必须替换$ binary_remote_addr,但是我不知道要做什么。
3 nginx 

1
如何使用Nginx前端对SSL客户端证书进行身份验证?
我有一些URL,我喜欢使用apache configs中的以下指令通过ssl客户端证书进行保护: SSLVerifyClient require SSLVerifyDepth 10 SSLRequireSSL SSLOptions +StrictRequire SSLRequire %{REMOTE_ADDR} =~ m/^127\.0\.0\.1$/ \ or ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ and %{SSL_CLIENT_I_DN_CN} eq "xxx" \ and %{SSL_CLIENT_S_DN_Email} in {"xx@xx.com", "xx@xx.com",} ) 似乎没有任何Nginx指令来处理此问题,因此我假设我必须将所有内容都传递给Apache后端。 这给我带来了一个问题,如何通过加密的SSL?在将它们传递给Apache之前,所有代理都在nginx级别解密ssl数据包。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.