Articles of nginx

乘客2.2.4,nginx 0.7.61和SSL

有没有人有幸使用SSLconfigurationPassenger和nginx? 我花了好几个小时的时间试图让这个configuration能够正常工作,在网上使用了很less的资源,而且我不能在Rails控制器中显示任何转发的头文件。 例如,使用以下(及其多个变体)的conf文件: server { listen 3000; server_name .example.com; root /Users/website/public; passenger_enabled on; rails_env development; } server { listen 3443; root /Users/website/public; rails_env development; passenger_enabled on; ssl on; #ssl_verify_client on; ssl_certificate /Users/website/ssl/server.crt; ssl_certificate_key /Users/website/ssl/server.key; #ssl_client_certificate /Users/website/ssl/CA.crt; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X_FORWARDED_PROTO https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; […]

设置Nginx的*不*重试的Rails超时

我有一个Rails + Phusion Passenger的设置。 有时,用户查询Nginx代理Passenger / Rails超时。 我们如何设置Nginx,使得keepalive_timeout后,Nginx不会重试,而只是报告错误 – 可能是一个502 – 而只是继续前进,而不是一次又一次地重新尝试“坏”的控制器/操作

如何使用nginx作为caching反向代理来replace鱿鱼/清漆

以下是我们目前在应用程序上的设置 但我们想添加nginx作为一个反向代理caching非常像鱿鱼或清漆是否有可能编辑这个configuration来启用caching行为,或者我需要添加另一个nginx在这个设置之前就像我会为鱿鱼或漆 如果这样做可以不使用鱿鱼和清漆,那么在nginx中进行完整的设置会很好 非常感谢 upstream backend_appname{ #start1.someserver.com server start1.someserver.com:7810 fail_timeout=3s; server start1.someserver.com:7811 fail_timeout=3s; server start1.someserver.com:7812 fail_timeout=3s; server start1.someserver.com:7813 fail_timeout=3s; } server { server_name appname.someserver.com; listen 80; access_log logs/access_appname.log; #error_log logs/error_appname.log; location /nginx_status { stub_status on; access_log off; } location /static { root /home/someuser/work/appname; expires max; add_header Cache-Control public,max-age=604800,post-check=604800,pre-check=1209600; } location / { root /home/someuser/work/appname; fastcgi_pass […]

Nginxconfiguration导致无尽的redirect循环

所以我已经看过了我可以find的每个示例configuration,但是每次尝试查看需要ssl的页面时,我都会在redirect循环中结束。 我运行nginx / 0.8.53和乘客3.0.2。 这里是sslconfiguration server { listen 443 default ssl; server_name <redacted>.com www.<redacted>.com; root /home/app/<redacted>/public; passenger_enabled on; rails_env production; ssl_certificate /home/app/ssl/<redacted>.com.pem; ssl_certificate_key /home/app/ssl/<redacted>.key; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X_FORWARDED_PROTO https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Url-Scheme $scheme; proxy_redirect off; proxy_max_temp_file_size 0; location /blog { rewrite ^/blog(/.*)?$ http://blog.<redacted>.com/$1 permanent; } location ~* \.(js|css|jpg|jpeg|gif|png)$ { […]

每个目录中的.htaccess在nginx中

我是nginx的新手,之前我一直在使用apache。 在apache中,每个目录都可以有一个.htaccess来定位目录和它的子目录。 这是可能的nginx? 如果是这样,我该怎么做? 非常感谢你!

如何使用fail2banparsingNginx的访问日志来计数404的和禁止IP地址?

我如何使用fail2banparsingNginx的访问日志来计数404和502的,并禁止太多的请求IP地址?

Nginx作为Google App Engine应用程序的反向代理

我想使用nginx作为Google App Engine应用程序的反向代理来支持这里描述的裸域。 如果我使用这种scheme,所有的stream量都会通过主机nginx或客户端将直接连接到App Engine的服务器吗? 它可能是性能和可用性的瓶颈吗?

有没有可能在nginx中看到活动的连接?

是否有可能看到nginx主动提供哪些URL(例如,看到正在响应的URL,而不是nginx响应的URL)。 我想看到这些,因为我正在使用nginx推模块,并试图找出为什么活动(和写)连接的数量一直在增加。 这些请求都是长时间打开的,所以我希望能够看到nginx目前正在处理哪些URL,理想情况下还有一些关于这些客户端的信息(即用户代理,IP地址,都是有帮助的)。

将stream量复制/镜像到不同的端口 – iptables

我有端口80上运行的nginx和端口8080上运行的apache 我想要将所有stream量asynchronous传输到nginx和apache,即一台服务器的性能不会依赖于其他服务器。 原因是nginx将服务我的网站和Apache将用于运行分析stream量。 我想镜像/复制两个端口上的stream量。 我不想转发… 我尝试了以下,但徒劳无功 sudo iptables -A PREROUTING -t mangle -p tcp ! -s 127.0.0.1/32 –dport 80 -j TEE –gateway 127.0.0.1 和 sudo iptables -A POSTROUTING -t nat -p tcp -s 127.0.0.1/32 –dport 8080 -j SNAT –to 127.0.0.1:8080 我哪里错了? 我在ubuntu 11.04上使用iptables v1.4.10

如何在涉及会话时使用Nginxcachingdynamic内容?

这个链接解释了如何使用Nginx从dynamic内容创build静态文件 。 我的问题是: 如果涉及login会话,我可以达到相同的效果吗 ? 即。 当我想只为注册用户服务的内容,而不是其他。 那么如何在caching中克服会话,并最终下一次使用caching来进行另一个会话呢? 详细情况: 我的网站的目标是只为注册用户提供内容。 有很多用户login,每个用户都有不同的会话ID。 一个php页面查询数据库,并find用户“A”想要的“XYZ”并生成HTML输出。 现在如果用户“B” (使用不同的会话ID)需要同一个“XYZ”,那么如何让Nginx从caching中提交而不需要使php页面再次查询数据库。 有没有人做过这个? 澄清可能的问题模糊: nginx将dynamic内容caching到静态我的问题是当涉及到会话时cachingdynamic内容。 上面的问题比较一般(没有提及会话)。