我在遵循标准安装说明的 Ubuntu 18.04 VPS 中安装了 Discourse。它已经运行了几年,但今天下午当我访问我的网站时,TLS 证书已过期——由于它使用 HSTS,这意味着我完全无法访问该网站。我想着很简单,SSH 进入服务器,安装更新(只是为了更新),运行 ./launcher rebuild app,然后它就会正常工作。
事实并非如此;我看到了一个“哎呀”页面。所以我决定重启系统,现在当我尝试浏览时,我看到一个 502 页面。我无法启动 app:
root@talk:/var/discourse# ./launcher start app
x86_64 arch detected.
starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (e5db356e19c947c3e1e20a337aea7ee4bdcfa9bc5f3eac485e76439f3ed3a0e9): Bind for 0.0.0.0:443 failed: port is already allocated
Error: failed to start containers: app
确实有东西在监听 443 端口:
root@talk:/var/discourse# netstat -tulpn
Active Internet connections (only servers)
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 906/docker-proxy
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 427/systemd-resolve
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 918/docker-proxy
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 892/docker-proxy
tcp6 0 0 :::9936 :::* LISTEN 578/sshd
udp 0 0 127.0.0.53:53 0.0.0.0:* 427/systemd-resolve
我感到很困惑——接下来应该检查什么?