Howto debug when nginx gives 502 bad gateway?
14,887
try this:
upstream my_server {
server 172.17.0.2:10000;
}
server {
listen 80;
server_name landing.example.com;
location / {
proxy_pass http://my_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
proxy_redirect http:// $scheme://;
}
}
Here you define the upstream server (your server by IP or hostname) and make sure to forward the headers too so the server answering knowns who to answer to.
Author by
Jasmine Lognnes
Updated on June 25, 2022Comments
-
Jasmine Lognnes almost 2 years
On
landing.example.com:10000
have I a webserver that works fine, which is a Docker container that exposes port10000
. Its IP is172.17.0.2
.What I would like is having a nginx reverse proxy on port
80
, and send the visitor to different Docker containers depending on the URL they visit.server { listen 80; server_name landing.example.com; location / { proxy_pass http://172.17.0.2:10000/; } access_log /landing-access.log; error_log /landing-error.log info; }
When I do this, I get
502 Bad Gateway
and the log says2016/04/14 16:58:16 [error] 413#413: *84 connect() failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: landing.example.com, request: "GET / HTTP/1.1", upstream: "http://172.17.0.2:10000/", host: "landing.example.com"
-
Kirby over 2 yearsIs it possible to perform POST requests without data lost?