我正在Ubuntu上的Docker上设置Mastodon服务器。
服务器已启动并正在运行,但是当我尝试通过浏览器访问该站点时,出现错误502 Bad Gateway。
在nginx错误日志中,我可以看到诸如此类的条目:
2020/07/01 06:47:59 [error] 11686#11686: *1 connect() failed (111:
Connection refused) while connecting to upstream, client:
27.33.64.244, server: www.canberrasocial.net, request: "GET / HTTP/2.0", upstream:
http://127.0.0.1:3000/", host: "www.canberrasocial.net"
我不知道上面一行中的“ 27.33.64.244”在哪里,因为那不是我服务器的IP地址,但是我不知道这是什么意思。
Nginx已启动并正在运行,对我的端口的检查显示如下:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11684/nginx: master
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 510/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 631/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 11684/nginx: master
tcp 0 0 127.0.0.1:4000 0.0.0.0:* LISTEN 19691/docker-proxy
tcp 0 340 45.76.124.78:22 27.33.64.244:60825 ESTABLISHED 25063/sshd: root@pt
tcp6 0 0 :::80 :::* LISTEN 11684/nginx: master
tcp6 0 0 :::22 :::* LISTEN 631/sshd
tcp6 0 0 :::443 :::* LISTEN 11684/nginx: master
我对linux管理员还很陌生,因此如果这是一个愚蠢的问题,我深表歉意,但是对于如何解决这个问题,我真的很困惑。希望有人能帮忙。
答案 0 :(得分:2)
首先,“ 27.33.64.244”不是您服务器的地址,因为它是“客户端”地址(请参阅错误日志),它可能是您用来连接到服务器的“设备”服务器。
真正的问题是,当nginx试图将请求传递到端口3000的上游时,它失败了。仅查看您的端口,我看不到任何进程正在监听端口3000,这可能是nginx无法传递请求的原因。你忘了开始上游吗?
我也是nginx的新手,如果我误解了您的问题,对不起。