Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [nginx]

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

500
votes
11answers
463k views

In Nginx, how can I rewrite all http requests to https while maintaining sub-domain?

I want to rewrite all http requests on my web server to be https requests, I started with the following: server { listen 80; location / { rewrite ^(.*) https://mysite.com$1 ...
144
votes
13answers
154k views

How to set up Nginx as a caching reverse proxy?

I heard recently that Nginx has added caching to its reverse proxy feature. I looked around but couldn't find much info about it. I want to set up Nginx as a caching reverse proxy in front of Apache/...
12
votes
1answer
9k views

What is Apache's equivalent of Nginx's try_files?

In Nginx there is try_files, a config directive that "checks for the existence of files in order, and returns the first file that is found". I find it very neat to do this location ~* \.(gif|jpe?g|...
35
votes
2answers
63k views

How to reduce number of sockets in TIME_WAIT?

Ubuntu Server 10.04.1 x86 I've got a machine with a FCGI HTTP service behind nginx, that serves a lot of small HTTP requests to a lot of different clients. (About 230 requests per second in the peak ...
68
votes
6answers
43k 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 ...
219
votes
8answers
274k views

How to force or redirect to SSL in nginx?

I have a signup page on a subdomain like: https://signup.example.com It should only be accessible via HTTPS but I'm worried people might somehow stumble upon it via HTTP and get a 404. My html/...
57
votes
3answers
64k views

nginx real_ip_header and X-Forwarded-For seems wrong

The wikipedia description of the HTTP header X-Forwarded-For is: X-Forwarded-For: client1, proxy1, proxy2, ... The nginx documentation for the directive real_ip_header reads, in part: This ...
36
votes
3answers
35k views

What is the difference between Nginx variables $host, $http_host, and $server_name?

What is the difference between the three Nginx variables $host, $http_host, and $server_name? I have a rewrite rule where I'm not sure which one I should be using: location = /vb/showthread.php { ...
187
votes
5answers
139k views

nginx HTTPS serving with same config as HTTP

Is there a way to share configuration directives across two nginx server {} blocks? I'd like to avoid duplicating the rules, as my site's HTTPS and HTTP content are served with the exact same config. ...
53
votes
7answers
33k views

Remove “www” and redirect to “https” with nginx

I want to create a rule in nginx that does two things: Removes the "www." from the request URI Redirects to "https" if the request URI is "http" There are plenty of examples of how to do each of ...
15
votes
1answer
17k views

maintaining redirects in nginx from an external source

I am in the situation to give our marketing department the opportunity to maintain their redirects by their own. Until now, they passed the information to the IT department and we maintained it for ...
7
votes
3answers
35k views

Can't restart nginx, bind() failed (98: Address already in use)

I know this topic exists in various different forms, but I'm having trouble solving my problem. If I run service nginx restart, nginx fails with the following log: 2015/03/14 08:36:42 [emerg] 9400#0: ...
3
votes
2answers
615 views

nginx location pathing issue

I've got a pretty much default sites-enabled set up in my nginx on debian squeeze and i'm now trying to get it to serve up my munin graphs on myhost/munin/ Heres the location i've added to the config ...
44
votes
4answers
62k views

How to force nginx to resolve DNS (of a dynamic hostname) everytime when doing proxy_pass?

I am using nginx/0.7.68, running on CentOS, with the following configuration: server { listen 80; server_name ***; index index.html index.htm index.php default.html default.htm ...
6
votes
1answer
3k views

How can I get around using alias in nginx?

Due to a long-standing bug in nginx I was advised to switch my alias directive with a root directive. Unfortunately this now breaks my static files, which are located in a different directory to my ...
3
votes
1answer
3k views

Nginx rewite rules 403 error

I am having trouble with converting .htaccess files to nginx. I have 3 .htaccess files. The first .htaccess file is located in the document root and is as follows: Options +FollowSymLinks ...
1
vote
1answer
728 views

nginx certbot certificate www and non-www

I haven't really wrapped my head around how to create (working) certificates using certbot for nginx. My sites-enables now look like this: First, a block for the www domain with SSL. All the SSL ...
69
votes
4answers
193k views

Nginx Redirect via Proxy, Rewrite and Preserve URL

In Nginx we have been trying to redirect a URL as follows: http://example.com/some/path -> http://192.168.1.24 where the user still sees the original URL in their browser. Once the user is ...
38
votes
4answers
35k views

Dump nginx config from running process?

Apparently, I shouldn't have spent sleepless night trying to debug an application. I wanted to restart my nginx and discovered that its config file is empty. I don't remember truncating it, but fat ...
62
votes
4answers
98k 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 ...
70
votes
14answers
247k 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 ...
63
votes
2answers
112k views

How does try_files work?

I looked at the nginx documentation and it still confuses me utterly. How does try_files work? Here is what the documentation says: From NginxHttpCoreModule try_files syntax: try_files path1 ...
41
votes
4answers
82k 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:...
27
votes
2answers
21k views

How to rate-limit in nginx, but including/excluding certain IP addresses?

I'm able to use limit_req to rate-limit all requests to my server. However I'd like to remove the rate restriction for certain IP addresses (i.e. whitelist) and use a different rate restriction for ...
6
votes
2answers
8k 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 ...
15
votes
2answers
40k views

Can nginx location blocks match a URL query string?

Can nginx location blocks match a URL query string? For example, what location block might match HTTP GET request GET /git/sample-repository/info/refs?service=git-receive-pack HTTP/1.1
3
votes
1answer
3k 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. ...
49
votes
5answers
22k views

Ordering: 1. nginx 2. varnish 3. haproxy 4. webserver?

I've seen people recommend combining all of these in a flow, but they seem to have lots of overlapping features so I'd like to dig in to why you might want to pass through 3 different programs before ...
126
votes
4answers
260k views

Nginx reverse proxy + URL rewrite

Nginx is running on port 80, and I'm using it to reverse proxy URLs with path /foo to port 3200 this way: location /foo { proxy_pass http://localhost:3200; ...
90
votes
7answers
135k views

Setting expires headers for static content served from nginx

I'm using nginx to server my static content, is there a way that I can set the expires headers for every file that meets a specific rule? For example can I set the expires header for all files that ...
46
votes
3answers
48k 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 ...
33
votes
1answer
42k 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 ...
40
votes
3answers
34k 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)
16
votes
3answers
39k views

Nginx proxy by Request Method

Is it possible/how can I configure an Nginx location block to proxy to different backends depending on the request method (ie. GET/POST)? The reason is, I am currently handling the 2 methods at 2 ...
14
votes
7answers
45k views

Nginx + php5-fpm = “File not found”

I've hit a wall whilst setting up a site using nginx / fpm. The page displays "File not found", and this appears in the nginx error.log: FastCGI sent in stderr: "Primary script unknown" while reading ...
12
votes
5answers
9k views

Nginx. How do I reject request to unlisted ssl virtual server?

I have a wildcard SSL certificate and several subdomains on the same ip. Now I want my nginx to handle only mentioned server names and drop connection for others so that it'd look like nginx is not ...
11
votes
2answers
4k views

Strange Bittorrent Log On My Server

I don't know if the following log has something to do with my site being down sometime. I have lot of websites on my server and they don't have any logs like the following: 117.169.1.85 - - [03/Jan/...
9
votes
2answers
26k views

Nginx: how to set host header to the server chosen (load balancing)

I have a site that works as load balancer. Site A. I have other sites that only can have one domain. So if i just redirect to them it says host name not found. So if i manually set header to ...
1
vote
1answer
3k views

How to handle relative urls correctly with a nginx reverse proxy

Sure I'm not the first one that tried to serve a domain example.com from a example.net/bbb, but I haven't found a solution yet. My NGINX configuration follows the guidelines and looks something like ...
1
vote
1answer
3k views

Why nginx internal redirect is not happening

I'm pretty sure I missed an obvious thing but it's driving me crazy, I need other eyeballs.. I got an application with plugins were sources are organized like: /app/plugins/foo/www/... that ...
46
votes
15answers
38k views

NGinx Best Practices

What best practices do you use while using NGinx?
148
votes
6answers
306k views

How do I add Access-Control-Allow-Origin in NGINX?

How do I set the Access-Control-Allow-Origin header so I can use web-fonts from my subdomain on my main domain? Notes: You'll find examples of this and other headers for most HTTP servers in the ...
167
votes
13answers
157k views

How can I use environment variables in Nginx.conf

[Cross-posted and edited down from https://stackoverflow.com/questions/21933955 as it was considered too sysadmin-like for StackOverflow.] I have a docker container running Nginx, that links to ...
84
votes
7answers
187k views

Make nginx to pass hostname of the upstream when reverseproxying

I run several docker containers with hostnames: web1.local web2.local web3.local Routing to these done based on hostname by nginx. I have a proxy in front of this setup (on different machine ...
38
votes
3answers
12k 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?
27
votes
8answers
129k views

Nginx + php-fpm “504 Gateway Time-out” error with almost zero load (on a test-server)

After debugging for 6-hours - I am giving this up :| We have a nginx+php-fpm+mysql in LAN with almost 100 wordpress (created and used by different designers/developers all working on test wordpres ...
27
votes
2answers
52k views

nginx automatic failover load balancing

I'm using nginx and NginxHttpUpstreamModule for loadbalancing. My config is very simple: upstream lb { server 127.0.0.1:8081; server 127.0.0.1:8082; } server { listen 89; ...
66
votes
4answers
39k views

Do you need separate IPv4 and IPv6 listen directives in nginx?

I've seen various config examples for handling dual-stack IPv4 and IPv6 virtual hosts on nginx. Many suggest this pattern: listen 80; listen [::]:80 ipv6only=on; As far as I can see, this achieves ...
30
votes
3answers
157k views

How do I change the NGINX user?

I have a PHP script that creates a directory and outputs an image to the directory. This was working just fine under Apache but we recently decided to switch to NGINX to make more use of our limited ...
23
votes
2answers
33k views

nginx permission denied to certificate files for ssl configuration

I'm installing an nginx ssl proxy on my Fedora server. I've created a cert and key pair under /etc/nginx. They look like this: ls -l /etc/nginx/ total 84 ... -rw-r--r--. 1 root root 1346 Sep 20 12:...