502 bad gateway 질문드립니다.
안녕하세요.
지난번에 아래 링크의 질문글을 올렸었습니다.
N100에 proxmox를 설치하고, proxmox help script를 이용해서
NPM을 LXC로 구축하여 헤놀이나 nextcloud 등을 duckdns 주소로 접속하고 싶었습니다.
댓글로 달아주신 scheme을 http, https로 바꿔도 아무 소용이 없더라구요.
증상은 설정한 도메인으로 접속 시 "리디렉션 횟수가 너무 많습니다" 또는 "응답이 너무 늦습니다." 였습니다.
로그 보는법도 모르다가 우연히 로그 파일을 찾게 되어서 보니
no route to host라는 문구가 계속 있는 것을 발견했습니다.
이래저래 찾다보니 사용중인 LG망 사용 시 포트포워딩을 셋팅하기 까다로운거 같더라구요.
실제로 저희 집 공인 IP의 포트 상태를 보면 80포트는 열려있지만 443포트는 닫혀있습니다.
전문가가 아니다보니 고객센터에 전화할 용기가 나질 않아 어떻게 하지 고민하다가
달소님이 작성하신 오라클 클라우드와 tailscale을 이용해서 포트 오픈 없이 설정하는 것을 도전해봤습니다.
처음에 달소님 가이드대로 오라클 클라우드 인스턴스를 생성하고 NPM 설치 후 적용해보니
timeout 증상은 계속 똑같았습니다.
혹시 제가 인스턴스 셋팅을 잘못한 건가 싶어서 구글링을 통해 인스턴스를 생성하고
NPM 및 도커, portainer 그리고 tailscale을 순서대로 설치하고 다시 프록시를 설정해보니
오라클 클라우드에 설치되어 있는 portainer는 외부에서 duckdns로 접속이 잘 되는데,
저희 집에 있는 N100에서 구동 중인 서비스에서는 외부에서 접속 시 502 bad gateway가 뜨고 있습니다.
혹시 tailscale 연결이 안된거가 싶어서 오라클 클라우드에서 N100에서 구동중인
nextcloud로 ping을 날려보면 응답이 있는 상태이고
반대로 nextcloud에서 오라클 클라우드로 ping을 날려봐도 역시나 응답이 있는 상황입니다.
포럼에서 502 bad gateway로 검색해보니 저와 같은 증상을 겪고 계신 분은 없는 것 같더라구요ㅠㅠ
해결할 수 있는 방법을 알려주시면 감사드리겠습니다.
좋은답변을 받기위해서는 좋은 질문이 필요합니다.
유의할점⚠️
- 예의를 지켜주세요. 답변자는 답변을 할 의무는 없습니다.
- 질문에 대한 대부분의 답은 검색으로 찾아보실 수 있습니다.
- 답변자가 답변을 하면서 대개 많은 경우는 다시 질문을 하는 경우가 많이 있습니다.
- (질문의 대한 정보가 부족합니다. ~일 경우 결과물이 어떻게 됩니까? 등등)
질문방법🙏
자신의 상황을 최대한 자세히 설명해주세요.
상황이 정확하고 많을 수록 답변의 정확도가 올라갑니다.
ex) ex) 헤놀로지라면 메인보드 모델 칩셋정보, CPU, 사용한 DSM 버전, 모델, 부수적인 추가 컨트롤러 나 랜카드 등과 어떠한 로더의 이미지를 사용했는지.(arpl-i18n, mshell), 어떤 버전을 사용했는지, 문제가있다면 어떠한것인지 스크린샷을 동반하고 에러의 경우 에러로그를 출력해서 주시면 좋습니다.
*가능하면 최신버전 OS/SW를 이용해주세요
답변에대한 피드백을 주세요.
정보가 질문에 모두 담겨있지않다면 대부분의 답변이 다른정보를 요구합니다.
이러한 답변에 대해 명확한 피드백을 주시면 도움이 됩니다.
3개열어야하는데 2개만연듯
81.80.443
답변 감사드립니다. 현재 N100에 있는 모든 VM 및 lxc 뿐만 아니라 OCI에도 모두 tailscale은 설치가 되어 있습니다. 현재 NPM은 오라클 클라우드에 설치되어 있어서 공유기의 80, 81, 443포트 개방을 안해놨거든요...오라클에서만 포트를 열어놓은 상황입니다. 공유기에서도 포트를 열어놔야 할까요?
정답이 아닐지 모르지만 그래도 혹시나 하는 마음에 하나씩 적어봅니다. ㅎ.
우선 모뎀을 브리지 모드로 사용하셨다고 하셨는데. 이것의 설정이 잘 못 되어 있을 가능성도 보여요.
가령. proxmox를 포트포워딩 하신 다음에 모바일 폰에서 와이파이 끄신 상태로 외부 공인 IP : 포트로
접속을 하였을 경우 해당 설정이 잘 이루어졌다고 생각하셔야 합니다. 그냥 되겠지 하라는 데로 했어..
만으로 판단하시면 안 되더라고요.. 하나하나 접속되는지부터 확인을 해주셔야 해요..
그리고 tailscale의 경우 tailscale ip -4로 확인하시거나 윈도 상에서 우측 하단의 메뉴에
tailscale -> network device -> my device로 들어가셔서 해당 아이피를 확인하시거나
아니면 이메일 표시 아이콘을 클릭하고 admin consol로 들어가 보시면 아이피를 확인 가능합니다.
즉.. vpn으로 연결된 pc들은 그 ip로 접속이 이루어지게 됩니다.
oci 가 100.20.50.30을 할당받고 n100 이 100.50.20.60을 할 당 받았으며 n100의 서버에 nextcloud를
설치를 하고 docker의 포트포워딩을 8080:80으로 설정을 해주셨다면.
oci에서 100.50.20.60:8080으로 접속하면 접속이 이루어지게 될 거예요.
하지만 어떤 compose를 사용하시었는지 모르지만. 80으로 열어두셨으면 npm의 80 포트와 충돌이
일어날 수 있겠네요.
그냥 윈도우 설치 하 듯 그냥 설치하면 되는 것이 아니라 조금 공부를 하셔야 하는 부분이 많더라고요.
그래서 그 분야의 전문가가 존재하는 듯 합니다.. ㅎ
가장 먼저 해보셔야 할 것이 폰에서 공인ip:포트 로 proxmox 관리자 페이지 접속부터 확인하시고
공유기 설정이 마무리 되어야 할 듯 하네요.
오라클에 설치된 NPM 상황과 오라클 포트 개방 상태입니다.
곳을 연결하면 되는데 n100의 80 포트가 뭐가 연결되어져 있는 것이 문제겠군요..
저기서 또 npm의 80포트로 연결 되는 것은 필요가 없을 듯 하고 nextcloud로 바로 연결 테스트를
해볼 필요가 보이네요.
오라클에 도커 설치 후 NPM과 portainer 설치를 위해 docker-compose.yml 작성할 때
networks:
default:
external: nginx-proxy-manager
로 네트워크 설정을 해줬었걸로 기억하고 있습니다.
혹시 N100에서도 VM과 lxc에 대한 별도 네트워크 설정을 해줘야 할까요?
아니요.. 같은 서버의 docker 환경에서 연결을 하기 위해서는 필요하지만 외부에서 접속하는 것이라면
필요하지 않더군요.
app: image: nextcloud restart: always ports: - 8080:80 links: - db volumes: - nextcloud:/var/www/html
이렇게 구성되어져 있다면. oci 서버에서 vpn http:// ip : 8080 로 연결 하신다면 연결되야 하는거죠.
80은 docker 이미지 내부 ip로 이야기 하신 같은 docker network 에 묶여 있다면 80 이지만. 외부에서
아이피 : 포트 타고 들어온다면 8080이 필요하게 되는걸껍니다.
cmt alert