I already re-installed onto a new server. I was only testing .. If I do reproduce I will make sure to provide stacktrace. I do appreciate you looking into this. I will make sure in the future that I can provide more details.
Nginx 502 Bad Gateway
-
When I configured Nginx on my Linode server, I still unable to visit my website without a port number:
But with a port number, it can be visited:
My server OS is Ubuntu 14.04 LTS, Nginx version is 1.4.6:
And in /etc/nginx/sites-available and /etc/nginx/sites-enabled, I have my configuration file named "huoshaolin", the contents are:
server { listen 80; server_name huoshaolin.com www.huoshaolin.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:4567/; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
I just modified it base on the doc: https://docs.nodebb.org/en/latest/configuring/proxies/nginx.html
When I ran
nginx -t
, it looks fine (I think):And the /etc/nginx/nginx.conf also changed:
So what's the problem about this 502 Bad Gateway ?
-
Do you have this line in your
/etc/nginx/nginx.conf
?include /etc/nginx/sites-enabled/*;
Without it, nginx will not enter the
sites_enabled
folder at all to look for server configuration blocks -
@julian It has:
-
@Hentai To be honest -- everything looks good to me.
... I know you probably did it, but I have to ask -- did you restart nginx after you added the new server config?
-
@julian Yes, I have restart it, using
sudo service nginx restart
-
Does the huoshaolin file have permissions that are readable by the nginx user?
-
@julian I was created this file as root user...
-
@Hentai Run
ls -l
and inspect the permissions. There needs to be anr
in the third-last character:~ $ ls -l /etc/nginx/sites-available/localhost-nodebb -rw-r--r-- 1 root root 515 Mar 13 16:14 /etc/nginx/sites-available/localhost-nodebb
-
-
Then I am officially out of ideas
-
I was following this guide to install my Nginx:
But I didn't use a regular, non-root user to install it (I installed it using root user), maybe this is the problem ?
-
No, that shouldn't be a problem. The 502 error usually means a connection to the backend server could not be reached...
Either because no server block matched, or because the NodeBB process could not be proxied to...
Are you running NodeBB as root? I can't imagine that would break anything though...
-
@julian Yeah, I was start NodeBB in root:
-
Your nginx.conf matches mine. Can you post
sudo tail /var/log/nginx/error.log
? -
@Guiri Of course:
2014/07/09 01:13:17 [error] 8494#0: *26 connect() failed (111: Connection refused) while connecting to upstream, client: 113.109.53.7, server: huoshaolin.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:4567/", host: "huoshaolin.com"
2014/07/09 01:13:17 [error] 8494#0: *26 connect() failed (111: Connection refused) while connecting to upstream, client: 113.109.53.7, server: huoshaolin.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:4567/favicon.ico", host: "huoshaolin.com"
2014/07/09 01:17:47 [error] 8494#0: *31 connect() failed (111: Connection refused) while connecting to upstream, client: 113.109.53.7, server: huoshaolin.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:4567/", host: "www.huoshaolin.com"
2014/07/09 01:17:47 [error] 8494#0: *31 connect() failed (111: Connection refused) while connecting to upstream, client: 113.109.53.7, server: huoshaolin.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:4567/favicon.ico", host: "www.huoshaolin.com"
2014/07/09 01:17:50 [error] 8494#0: *31 connect() failed (111: Connection refused) while connecting to upstream, client: 113.109.53.7, server: huoshaolin.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:4567/", host: "www.huoshaolin.com"
2014/07/09 01:17:50 [error] 8494#0: *31 connect() failed (111: Connection refused) while connecting to upstream, client: 113.109.53.7, server: huoshaolin.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:4567/favicon.ico", host: "www.huoshaolin.com"
2014/07/09 01:17:52 [error] 8494#0: *31 connect() failed (111: Connection refused) while connecting to upstream, client: 113.109.53.7, server: huoshaolin.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:4567/", host: "www.huoshaolin.com"
2014/07/09 01:17:53 [error] 8494#0: *31 connect() failed (111: Connection refused) while connecting to upstream, client: 113.109.53.7, server: huoshaolin.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:4567/favicon.ico", host: "www.huoshaolin.com"
2014/07/09 01:26:43 [error] 8494#0: *38 connect() failed (111: Connection refused) while connecting to upstream, client: 107.178.200.63, server: huoshaolin.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:4567/", host: "www.huoshaolin.com"
2014/07/09 01:26:45 [error] 8494#0: *40 connect() failed (111: Connection refused) while connecting to upstream, client: 107.178.200.63, server: huoshaolin.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:4567/favicon.ico", host: "www.huoshaolin.com" -
@Hentai said:
proxy_pass http://127.0.0.1:4567/;
Try changing this to
proxy_pass http://huoshaolin.com:4567/;
-
-
Heh, I guess I did assume that nginx and NodeBB were on the same server
-
-