표준 설치 지침에 따라 Ubuntu 18.04 VPS에 Discourse를 설치했습니다. 2년가량 잘 작동해 왔는데, 오늘 오후에 사이트를 접속해보니 TLS 인증서가 만료되어 있었습니다. HSTS를 사용하고 있기 때문에 사이트 접근이 완전히 차단된 상태였습니다. 별일 아니겠거니 생각하여 SSH로 서버에 접속하고 업데이트를 설치한 뒤(그냥 습관적으로) ./launcher rebuild app을 실행하면 해결될 줄 알았습니다.
하지만 상황이 그렇게 흘러가지는 않았습니다. “oops” 페이지가 표시되었습니다. 그래서 시스템을 재부팅했는데, 이제 사이트를 브라우저로 접속하려고 하면 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
어떻게 해야 할지 막막합니다. 다음으로 무엇을 확인해야 할까요?