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

21
votes
3answers
26k views

How to enable correct charset HTTP-header in NGINX

What is the right way to enable correct charset headers in NGINX? I'm analyzing my website with Google Page Speed. It says that I should specify the charset of HTML files in HTTP-headers. What is the ...
21
votes
2answers
27k views

An upstream response is buffered to a temporary file

I have a rather large and slow (complex data, complex frontend) web application build in RoR and served by Puma with nginx as reverse proxy. Looking at the nginx error log I see quite a few entries ...
20
votes
3answers
15k views

Is the PHP option 'cgi.fix_pathinfo' really dangerous with Nginx + PHP-FPM?

There has been a lot of talking about a security issue relative to the cgi.fix_pathinfo PHP option used with Nginx (usually PHP-FPM, fast CGI). As a result, the default nginx configuration file used ...
20
votes
1answer
6k views

What’s the difference between the “mainline” and “stable” branches of nginx?

There seem to be two active branches of the nginx web server: a “mainline” branch (currently 1.9.x) and a “stable” branch (currently 1.8.x). Can anyone provide an official source that describes the ...
20
votes
1answer
15k views

nested locations nginx

I'm having trouble understanding nested locations in nginx. I have two locations with some configuration directives in common, so rather than repeat the directives, I'd prefer to repeat the URI using ...
20
votes
3answers
25k views

number of nginx worker processes

I'm setting up nginx to serve a Drupal install, and I seem to find conflicting information on the nginx worker processes setting. One site says you need two, one says you need five, one says one per ...
20
votes
3answers
5k views

Why is setting Nginx as a reverse proxy a good idea?

I have a Django site running on Gunicorn with a reverse proxy through Nginx. Isn't Nginx just an extra unnecessary overhead? How does adding that on top of Gunicorn help?
20
votes
1answer
36k views

Configure Nginx as reverse proxy with upstream SSL

I try to configure an Nginx server as a reverse proxy so the https requests it receives from clients are forwarded to the upstream server via https as well. Here's the configuration that I use: http ...
19
votes
2answers
12k views

Suspicious symbols on nginx config

I have the following nginx config, e.g. server { listen 80; server_name example.com allow 127.0.0.0/8; When I restart, it warn me: Restarting nginx: nginx: [warn] server ...
19
votes
2answers
8k views

How can I configure nginx locations to share common configuration options?

How can i configure a shared config block for a set of locations? location / { proxy_pass http://127.0.0.1:9000/; proxy_redirect off; ...
19
votes
1answer
3k views

Recommended Nginx + WSGI Configurations

Please explain pros/cons when using the different Nginx WSGI interfaces? Please explain in detail what differentiates each configuration? Which configuration should scale the best? If relevant, what ...
19
votes
1answer
13k views

Setting Nginx to catch all unhandled vhosts

If I already have a bunch of virtualhosts, how can I create a virtual host to handle requests that don't match any of the virtualhosts? (i.e. access by IP, another domain linking to IP, .etc .etc)
19
votes
1answer
52k views

What is the name and location of the Nginx config file (htaccess equivalent)?

There are many tutorials on how to write Nginx rewrite rules to mimic Apache's .htaccess file but I can't confidently say I know what the name or location of this so-called Nginx config file actually ...
19
votes
2answers
24k views

nginx - client request body is buffered to a temporary file

I get the following error in my log files every time I try to upload a large file. a client request body is buffered to a temporary file /var/lib/nginx/body/0000000001 Although the file uploads ...
18
votes
10answers
10k views

Shellshock: How do I know if my server is compromised + suspicious files to look out for

Three questions which I hope someone can help answer: How do I know if my server is already compromised due to the Shellshock bug ? If it was compromised, is there a particular folder where I should ...
18
votes
7answers
96k views

Nginx 1 FastCGI sent in stderr: “Primary script unknown”

My first time using Nginx, but I am more than familiar with Apache and Linux. I am using an existing project and when ever I am trying to see the index.php I get a 404 File not found. Here is the ...
18
votes
4answers
23k views

How to remove the path with an nginx proxy_pass

I have a running web-application at http://example.com/, and want to "mount" another application, on a separate server on `http://example.com/en. Upstream servers and proxy_pass seem to work, but for ...
18
votes
4answers
19k views

Which is best for Django? Lighttpd or Nginx? Or maybe something else? [closed]

Which of Lighttpd and Nginx is, basing on your experience, better suited for Django? I've used both and can hardly notice any difference at all, they just work fine... Are there any use cases when one ...
18
votes
3answers
7k views

Properly setting up a “default” nginx server for https

I have several servers running on the same machine, some with http only, some with both http and https. There are several server blocks defined in separate files which are included from the main ...
17
votes
4answers
51k views

Nginx redirect one path to another

I'm sure this has been asked before, but I can't find a solution that works. A website has switched CMS services, but has the same domain, how do I set up an nginx rewrite for a single page? E.g. ...
17
votes
4answers
21k views

How can I debug nginx further than the error log?

I'm currently receiving a fairly large HTTP flood right now, and it's causing my nginx reverse proxy to produce a 502 Bad Gateway. I have a frontend server running nginx as a proxy to my backend ...
17
votes
2answers
13k views

Do HTTP reverse proxies typically enable HTTP Keep-Alive on the client side of the proxied connection and not on the server side?

HAProxy has the ability to enable HTTP keep-alive on the client side (client <-> HAProxy) but disable it on the server side (HAProxy <-> server). Some of our clients connect to our web service ...
17
votes
1answer
3k views

How to mitigate POODLE but keep SSLv3 support for old clients

How do I mitigate the POODLE attack, but still keep support for old clients such as IE6 on Windows XP or an e-mail client. I've noticed that google does this: https://www.ssllabs.com/ssltest/analyze....
17
votes
1answer
11k views

nginx: no permission to bind port 8090 but it binds to 80 and 8080

I'm struggling with some strange permission related behavior: when I configure nginx to listen to port 8080 everything works as expected, but when I use any other port I get something like 2014/01/10 ...
17
votes
6answers
15k views

Permission denied while reading upstream

We have deployed our rails application on on nginx and passenger.Intermittently pages of application get loaded partially.There is no error in application log.But nginx error log shows the following : ...
17
votes
1answer
8k views

Constantly have to reload PHP-FPM

We have a fairly heavily loaded server running nginx and PHP-FPM. We have 6 websites on this server, running PHP-FPM and nginx. Software is all vBulletin 3.8 and WordPress. Databases are on a separate ...
17
votes
2answers
17k views

User per virtual host in Nginx

Is it possible in nginx configure different user per virtual host? Something like server { user myprojectuser myprojectgroup; ... }
16
votes
4answers
32k views

Nginx: How do I forward a http request to another port?

What I want to do is, When someone visit http://localhost/route/abc the server response exactly the same as http://localhost:9000/abc Now I configure my Nginx like this: location /route { ...
16
votes
3answers
6k views

Alternatives to apache benchmark? [closed]

I'd like some tools for ubuntu that I can use to test my server, how much it can handle. Any suggestions? I've used apache benchmark before, but I'd like to try out something else. (As a side ...
16
votes
4answers
45k views

nginx support for .htaccess / rewrite rules? Differences from Apache?

I've been working with Apache http servers for quite some time, and finally making the move to static-content servers alongside the others dynamic-content machines. I was wondering, does nginx ...
16
votes
6answers
6k views

Nginx rewrite rule to replace querystring question mark with underscore

In order to mirror a whole website as static HTML, I would like to convert URLs like http://example.com/script.php?t=12 to http://example.com/script.php_t=12. Notice ? in URL is being is being ...
16
votes
1answer
13k views

nginx url rewriting: difference between break and last

I don't understand the difference between break and last (flags of rewrite). The documentation is rather abstruse. I've tried to switch between the two in some of my configs, but I couldn't spot any ...
16
votes
1answer
8k views

Understanding the nginx proxy_cache_path directive

Suppose I have this nginx config file proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=myCache:8m max_size=100m inactive=1h; What does the keys_zone=myCache:8m mean? There's not much said to ...
16
votes
3answers
3k views

How to write a DRY, modular nginx conf (reverse proxy) with named locations

I'm using nginx mostly as a reverse cachining proxy in front of several gunicon/mod_wsgi applications and of course to server static files. I find that quickly my nginx confs become impossible to ...
16
votes
1answer
967 views

nginx upload progress combined with normal request

I have a good virtual host for nginx that works well without using the nginx upload module. When I add upload progress into this my upload request. How can I solve this? i need to upload my files ...
15
votes
4answers
28k views

nginx + PHP-FPM = “permission denied” error 13 in nginx log; configuration mistake?

I've got nginx 0.7x + PHP-FPM running under PHP 5.2.10 on one RHEL5 server, but trying to duplicate that setup under the bundled-in PHP-FPM in PHP 5.3.3 on a second server, I'm having some trouble ...
15
votes
3answers
31k views

How to use nginx to proxy to a host requiring authentication?

How can I setup an nginx proxy_pass directive that will also include HTTP Basic authentication information sent to the proxy host? This is an example of the URL I need to proxy to: http://username:...
15
votes
3answers
4k views

Is there an elegant way to block a bunch of referrers at once?

In order to prevent referrer spam, my nginx.conf contains a section like this: if ($http_referer ~* spamdomain1\.com) { return 444; } if ($http_referer ~* spamdomain2\.com) { return 444; } if ...
15
votes
4answers
21k views

Increase PHP-FPM's max upload/post size

I'm running php5-fpm under Nginx on Ubuntu 14.04. I want to increase the max upload size. I have edited my /etc/php5/fpm/php.ini to have the following lines defined as below: upload_max_filesize = ...
15
votes
2answers
18k views

best way to debug nginx config file?

I have a bunch of rewrite rules that I have to port from apache to nginx. It's a rather painful process because I'm not able to see if my rewrite rules and "if" conditions are working as I want them ...
15
votes
8answers
10k views

How to scale php5+MySQL above 200 requests/second?

I am tweaking my homepage for performance, currently it handles about 200 requests/second on 3.14.by which eats 6 SQL queries, and 20 req/second on 3.14.by/forum which is phpBB forum. Strangely ...
15
votes
6answers
35k views

Nginx fails to stop and nginx.pid is missing

I want to stop Nginx but it fails like this. $ sudo service nginx stop Stopping nginx: [FAILED] And nginx.conf that defines place of nginx.pid have a line....
15
votes
5answers
3k views

Alternatives to Apache

Our current stack is Apache + Tomcat + MySQL, using ProxyPass AJP to fire requests from Apache to Tomcat. We also run PHP for Wordpress on the same sites, and so need working .htaccess files. In ...
15
votes
4answers
18k views

Need to increase nginx throughput to an upstream unix socket — linux kernel tuning?

I am running an nginx server that acts as a proxy to an upstream unix socket, like this: upstream app_server { server unix:/tmp/app.sock fail_timeout=0; } server { listen ###.###.###....
15
votes
4answers
4k views

Apache or NGINX for PHP?

I've read quite a bit on the major benefits to running NGINX over Apache for serving static files. However, I have never seen an article talking about Apache vs NGINX for serving PHP pages. Question: ...
15
votes
4answers
48k views

nginx errors “recv() failed (104: Connection reset by peer) while reading response header from upstream”

I have a server which was working ok until 3rd Oct 2013 at 10:50am when it began to intermittently return "502 Bad Gateway" errors to the client. Approximately 4 out of 5 browser requests succeed but ...
14
votes
3answers
23k views

How to set a favicon.ico for a specific Virtual Host on Nginx?

I am using Nginx as my webserver for the first time. I didn't have any trouble to set it up and everything works great. The problem came when the designer asked me if he could send me "the icon in the ...
14
votes
5answers
21k views

How to stop nginx on Mac OS X

I've installed and configured nginx server on my Mac from MacPorts sudo port install nginx Followed the recommendation from the port installation console and created the launchd startup item for ...
14
votes
2answers
12k views

Nginx: force SSL on one path, non-SSL on others

How do I set up Nginx conf file to force SSL on only one of the paths in my site and non-SSL on all the rest? For example, I want all of the URLs under /user to be https but all the rest of the URLs ...
14
votes
4answers
26k views

How can I make nginx support @font-face formats and allow access-control-allow-origin?

I've added these rules to mime.types: application/x-font-ttf ttf; font/opentype otf; application/vnd.ms-fontobject eot; font/x-woff ...