Nginx ("engine x") is a lightweight, high-performance HTTP server, reverse proxy, TCP stream proxy and mail proxy, released under a BSD-like license.

learn more… | top users | synonyms

4
votes
3answers
7k views

Howto Nginx + git-http-backend + fcgiwrap (Debian Squeeze)

I am trying to setup git-http-backend with Nginx but after 24 hours wasting time and reading everything I could I think this config should work but doesn't. server { listen 80; server_name ...
4
votes
3answers
8k views

Can Nginx handle php (or similar fcgi) requests inside of an alias?

I am converting a legacy Apache server to Nginx and do not have the luxury of changing URL's or rearranging the filesystem. Is it possible to use nested location{} blocks in the Nginx configuration ...
2
votes
2answers
1k views

Building an SSL server farm

I'm interested in building the the architecture in the article referenced below. I currently have a modestly-priced layer-4 load balancer and my application servers are the SSL endpoints. I want to ...
2
votes
3answers
6k views

Is it possible to log the response data in nginx access log?

I am trying to print the response data for development/debugging purposes. I couldn't find a similar question or any info on this. If you do, please add a comment.
2
votes
2answers
4k views

Nginx load balance with dedicated php-fpm server

I got server setup with nginx+php-fpm and mysql. I have another server with only installed php-fpm, so wanted to use as load balance. But when I am using this dedicated server with php-fpm as load ...
2
votes
4answers
4k views

nginx logrotate config

Whats the best way to rotate nginx logfiles? In my opinion, I should create a file "nginx" in /etc/logrotate.d/ and fill it with the following code and do a /etc/init.d/syslog restart after that. ...
2
votes
3answers
2k views

NginX & PHP-FPM, random 502

2010/09/19 14:52:07 [error] 1419#0: *10220 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: [...], server: [...], request: "POST /[...] HTTP/1.1", ...
1
vote
1answer
561 views

nginx - limiting bandwidth usage per server block

In Apache we have some great solutions for limiting the bandwidth usage per vhost, like mod_bandwidth. However, since I started using nginx, I couldn't find a way of limiting and monitoring the ...
1
vote
1answer
982 views

Best way to set up permissions with nginx + php-fpm on shared hosting?

I'm running a shared hosting server with nginx and php-fpm on Debian. Everything works fine, php-fpm has separate pools for each users running as separate users and they each have their own socks. ...
0
votes
2answers
9k views

How to optimize Time To First Byte (TTFB)?

I have nginx+apache web-server with several sites. But with very long Time To First Byte (TTFB): 0,5-2 seconds for every request (for static & dynamic content). How to optimize Time To First ...
12
votes
3answers
1k views

The downsides of using nginx as a primary web server?

I've seen millions of websites using nginx as a proxifying webserver working together with Apache. But I've seen very few servers running nginx only as their default webserver. What are the main ...
10
votes
3answers
18k views

Understanding this error: apr_socket_recv: Connection reset by peer (104)

So, if I do some benchmarking with apache benchmark (ab), and I use large numbers of requests. Then sometimes in the middle of a test I get this error. I don't even know what it means. So how can I ...
9
votes
2answers
3k views

Nginx add_header for a 50* page

I'm currently trying to get nginx to add a header to the response when it is sending some kind of 50* error. I already have an add_header directive on the http block, and that gets respected for all ...
9
votes
1answer
11k views

How do I set a default host for nginx?

I'm trying to figure out how to set a default host for my nginx installation. I found this article in the nginx Wiki: http://wiki.nginx.org/NginxVirtualHostExample#A_Default_Catchall_Virtual_Host ...
9
votes
3answers
2k views

nginx: How to prevent an exactly named SSL server block from acting as the catchall for all SSL

I have a web server with many virtual servers. Only 1 of which is SSL. The problem is, because there is no catchall server block listening for SSL, any https request to the other sites is served by ...
8
votes
3answers
4k views

nginx logging to access.log.1 instead of access.log, logrotate failing?

I have an nginx instance that is set to log access to /var/log/nginx/access.log and errors to /var/log/nginx/errors.log, but as soon as logrotate runs each week, the file gets moves to *.log.1 and the ...
7
votes
1answer
2k views

Splitting long lines in a nginx configuration file

In order to not pass garbage to the back-end, I have a strict regex for a location directive. It looks like this: location ^~ ...
6
votes
1answer
7k views

How to upgrade nginx from 1.2 to 1.6 on debian 7

I've looked through the whole web but couldn't find anything ! I modified sources.list but the server is tuck to nginx 1.2 , I don't know what to do please help
6
votes
2answers
10k views

Nginx $document_root$fastcgi_script_name vs $request_filename

I can't notice any difference if in my config file I set fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; Or: fastcgi_param SCRIPT_FILENAME $request_filename; What do ...
6
votes
1answer
15k views

How to configure php-fpm to log logs to log files configured in nginx virtualhosts

I have Fedora 16 with nginx and php-fpm. Everything is working very good. All logs with php notice,warnig error etc. are in /var/log/php-fpm/www-error.log. Is there a way to configure php-fpm to write ...
6
votes
1answer
4k views

Working Nginx fastcgi_cache php-fpm cache and static file caching configuration?

Nginx wiki is very vague with explanation as to how to properly setup nginx with php-fpm with fastcgi_caching for sites which have cookies i.e. wordpress, drupal, vbulletin etc. I downloaded a ...
6
votes
3answers
5k views

Mapping hudson to a subdomain through nginx proxying

I'm now trying to setup nginx as a reverse proxy for Hudson so it can be access on http://build.example.com directly. I've already installed Hudson on Tomcat and verified that I can access Hudson on ...
5
votes
2answers
13k views

Nginx Setting server_names_hash_max_size and server_names_hash_bucket_size

We are using Nginx as a reverse proxy to Apache in a service that gives anyone their own website. At account creation, the system creates a new nginx conf file for the domain with two entries, one for ...
5
votes
1answer
5k views

How to extract Only the file name from the request uri

I am trying to rewrite the request uri depending on the extension of the file, then extract only the file name from the uri and store it in another folder. The problem here is no predefined variable ...
4
votes
2answers
828 views

NGINX Serving Large mp4 Files extremely inefficiently

I am currently running nginx/1.0.15 on a Centos 6.6 OS. The server has the following specs: Intel(R) Atom(TM) CPU C2750 @ 2.40GHz (8 cores) 32GB Ram 5 x 6000 GB 7200 RPM (Raid 10) The Problem The ...
4
votes
1answer
5k views

Nginx set a variable conditionally

I want to allow 1GB uploads on a specific subdomain of my site called upload.xxx.xx.xx. Currently I am trying something like: server { if ( $host = 'upload.xxx.xx.xx' ) { ...
4
votes
1answer
8k views

How to use nginx as reverse proxy with multiple IPs and SSL?

I would like to setup nginx reverse proxy with multiple domains and an IP for each of them to use different SSL Certs. I run Ubuntu as OS which is installed on a KVM/Qemu VM. As I understand nginx, ...
4
votes
2answers
6k views

Prevent nginx from redirecting traffic from https to http when used as a reverse proxy

Here's my abbreviated nginx vhost conf: upstream gunicorn { server 127.0.0.1:8080 fail_timeout=0; } server { listen 80; listen 443 ssl; server_name domain.com ~^.+\.domain\.com$; ...
4
votes
6answers
21k views

How do I make Nginx redirect all requests for files which do not exist to a single php file?

I have the following nginx vhost config: server { listen 80 default_server; access_log /path/to/site/dir/logs/access.log; error_log /path/to/site/dir/logs/error.log; root ...
4
votes
1answer
4k views

Mixed IP and Name Based Virtual Hosts with nginx

I set up many domains but I dont know how to configure if only ip address is given. say foo.com I have a setup to go web/foo.com/htdocs, I want to 88.99.66.55 ip address like a domain to ...
4
votes
5answers
6k views

Curl development headers with SSL support for Phusion Passenger 3

I'm trying to install phusion passenger nginx module, but it fails # passenger-install-nginx-module * Curl development headers with SSL support... not found ... yum install curl-devel Setting up ...
4
votes
2answers
2k views

How soon does nginx's token bucket replenish when limiting at requests per minute?

We've decided that we want to experiment and limit requests per minute instead of requests per second on our sites. However, I am confused by the burst parameter in this context. I am under the ...
3
votes
1answer
655 views

Can't get Nginx to serve correct certificate chain

I'm trying to set up Nginx (1.4.6-1ubuntu3.1) with a StartSSL certificate. I've been following the documentation to get it working, but Nginx only serves the server certificate, not the intermediate. ...
3
votes
1answer
7k views

Hide path to backend with Nginx

I have OpenNMS running on host B-beta with the following URL: http://b-beta:8980/opennms I would like to use NginX to hide this path accessible from host a-alpha like this: ...
3
votes
1answer
5k views

Nginx - basic http authentication on PHP-script

I added a PHP-Script that serves as "cgi-bin", Configuration: location ~^/cgi-bin/.*\.(cgi|pl|py|rb) { gzip off; fastcgi_pass 127.0.0.1:9000; fastcgi_index cgi-bin.php; ...
3
votes
2answers
1k views

In Nginx, block user based on X header value

I have 6 Nginx servers behind load balancer. Of course, if I just try to "deny" based on IP address it does not work as the app servers just see the load balancer IP. However, I learned about the ...
3
votes
1answer
5k views

gzip compression doesn't work in nginx reverse proxy setup

We have nginx in front of an Apache server in reverse proxy mode. We initially had Apache compressing files using mod_deflate, however that proved to cause problems with some instances of Internet ...
2
votes
1answer
872 views

Algorithm behind nginx etag generation

What is the algorithm used to generate etags in Nginx? They look something like "554b73dc-6f0d" now. Are they generated from timestamp only?
2
votes
1answer
2k views

Nginx and different versions of PHP FPM + PHP

Due to a better understanding of what I wish to achieve thanks to Mark and his previous answer, I am posting a (hopefully) clearer and slightly different variation of my previous question as that ...
2
votes
1answer
974 views

How do I deny all requests not from cloudflare?

I've recently gotten denial of service attacks from multiple proxy ips, so I installed cloudflare to prevent this. Then I started noticing that they're bypassing cloudflare by connecting directly to ...
2
votes
1answer
4k views

Nginx: route to index.php within alias for specific path component

I'm trying to make nginx route to the index.php within an alias for a specific path. It would be easier to just use subdomains (and add serverblocks with different names), but my project requires this ...
2
votes
1answer
2k views

Copy and deliver a request to another nginx server for real traffic testing

I have a Flask web service which runs on uwsgi+nginx and it works well. I have another development version of the service which runs on another server. It also runs on uwsgi+nginx. What I want to do ...
2
votes
3answers
2k views

Use HAProxy or Nginx to Load Balance between VPS

I want to load balance + failover backup multiple vps webservers hosted on different providers. I heard that for HAProxy you need multiple server under the same subnet, plus a shared (virtual) ip ...
2
votes
1answer
845 views

Is it possible to configure Nginx to allow for new domains to be added without me having to add a VirtualHost for each?

I have a SaaS application wherein users can enter their domain names. The application uses the hostname of incoming requests to determine the account based on the domain they entered for their ...
2
votes
2answers
4k views

Finding Nginx/PHP-FPM bottleneck that is causing random 502 gateway errors

I work for a rather busy internet site that is often gets very large spikes of traffic. During these spikes hundreds of pages per second are requested and this produces random 502 gateway errors. Now ...
2
votes
6answers
6k views

Get list of user-agents from nginx log

I have nginx log file, and I want to find out market share for each major version of browsers. I am not interested in minor versions and operating systems. I would like to get something like this: ...
1
vote
3answers
2k views

My webserver is getting flooded with invalid requests

My webserver (nginx) keeps getting requests like this: 23.244.104.206 - - [15/Jun/2014:21:21:47 -0400] "GET ...
1
vote
2answers
2k views

Is it possible to balance load between multiple Nginx load balancers without using a hardware load balancer?

I plan to balance load between my app servers using a separate Nginx server as a software load balancer. But actually, it's because a load balancer in front of the app servers allows me to update an ...
1
vote
2answers
3k views

nginx deny user agent causes error when not encapsulated in quotes

I'm trying to deny some user agents I constantly see probing my nginx web server. If I have this in my .conf file ## Block http user agent - morpheus fucking scanner ## if ($http_user_agent ~* ...
1
vote
2answers
9k views

nginx: Disallow Access to a Folder, except some subfolders

How it is possible to deny access to a folder, but except some subfolders in it from "deny"? I tried something like this (in this order): #this subfolder shouldn't be denied and php scripts inside ...