본문 바로가기

IT/HA

🏠 Home Assistant 외부 접속 (2) – Nginx Proxy Manager 설치하고 포트 없이 HTTPS 만들기

반응형
×

1️⃣ 시작 전 준비사항

이전 글 DuckDNS 설정편에서 도메인을 생성하셨다면, 이제 포트 없이 외부에서 안전하게 접속할 차례입니다.

  • DuckDNS 도메인 등록 완료
  • Home Assistant에서 애드온 설치 가능
  • 공유기 포트포워딩 설정 가능 환경

📌 공유기 포트포워딩 설정

🔹 SSL 인증서를 정상 발급받기 위해서는 먼저 아래와 같이 공유기 포트포워딩을 설정해야 합니다.

프로토콜: TCP
외부 포트: 80 / 443
내부 IP: Home Assistant의 IP
내부 포트: 80 / 443
      

🔹 80번 포트는 인증서 발급 및 갱신에 사용되며, 443번 포트는 HTTPS 접속용입니다.

🔹 Nginx 설정 이전에 이 작업이 선행되어야 SSL 적용이 정상적으로 완료됩니다.

🔹 공유기 설정이 처음이라면 포트포워딩 설정 방법 가이드를 참고하세요.

ipTIME 공유기 포트포워딩 설정 화면

※ 위 이미지는 443 포트만 등록된 상태이며, 80 포트는 추가 전 사진입니다.


2️⃣ 필수 애드온 설치

📌 애드온 메뉴 진입

🔹 Home Assistant 왼쪽 사이드바에서 설정 → 애드온 경로로 이동합니다.

설정에서 애드온 메뉴 이동

📌 애드온 스토어 클릭

🔹 오른쪽 하단 애드온 스토어 버튼을 클릭합니다.

애드온 스토어 버튼

📌 File editor 설치

🔹 검색창에 file을 입력한 뒤 File editor 애드온을 클릭 후 설치하기 버튼을 클릭합니다.

file editor 검색 화면 file editor 설치 선택

📌 자동 시작 설정 및 실행

  • ✅ 자동 시작 활성화
  • ✅ 사이드바에 표시 활성화
  • 시작하기 버튼 클릭
  • 구성 탭으로 이동
file editor 자동시작 설정

📌 구성 탭에서 경로 설정

🔹 아래 항목을 true로 변경 후 저장합니다:

enforce_basepath: true
경로 설정 true 변경

📌 설정 파일 열기

  • ✅ 왼쪽 사이드바에서 File editor 클릭
  • configuration.yaml 파일 열기
configuration.yaml 파일 열기

📌 설정 코드 추가

🔹 아래 코드를 configuration.yaml에 추가합니다:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
프록시 설정 코드 추가

📌 MariaDB 설치

🔹 애드온 스토어에서 MariaDB를 검색해 설치합니다.

MariaDB 검색 및 설치

📌 자동 시작 설정 및 실행

  • ✅ 자동 시작 활성화
  • 시작하기 버튼 클릭
  • 구성 탭으로 이동
MariaDB 시작 설정

📌 MariaDB 구성 설정

🔹 아래와 같이 password 항목에 원하는 비밀번호를 입력합니다:

password: homeassistant123
MariaDB 비밀번호 설정

🔹 password 입력을 마쳤다면 아래처럼 저장 후 → 시작하기 버튼까지 눌러주세요.

MariaDB 시작하기 버튼

3️⃣ Nginx Proxy Manager 설치

📌 Nginx Proxy Manager 애드온 설치

🔹 애드온 스토어에서 nginx를 검색하여 Nginx Proxy Manager 애드온을 설치합니다.

nginx 검색 화면

📌 애드온 시작 및 로그인 정보 확인

🔹 설치가 완료되면 자동 시작을 켜고 시작하기 버튼을 눌러 실행합니다.

자동 시작 후 실행 버튼

🔹 상단 탭의 관련 문서를 클릭하여 기본 로그인 정보를 확인하세요:

Email: admin@example.com
Password: changeme
관련 문서 탭 클릭 및 로그인 정보 확인

🔹 로그인 정보 확인 후 다시 정보 탭으로 이동하여 웹 UI 열기 버튼을 클릭합니다.

웹 UI 열기 버튼 클릭

4️⃣ 관리자 초기 설정 변경

📌 Nginx Proxy Manager 접속

🔹 앞선 3️⃣ 섹션에서 웹 UI 열기 버튼을 통해 접속한 주소는 사실상 아래 URL과 동일합니다:

http://홈어시스턴트IP:81

🔹 기본 로그인 정보는 앞서 확인하였지만 다시 안내드립니다:

Email: admin@example.com
Password: changeme
Nginx 관리자 로그인 화면

📌 계정 정보 변경

  • ✅ 보안을 위해 이메일 주소와 비밀번호를 반드시 변경합니다.
계정 변경 메뉴 비밀번호 변경 화면

5️⃣ Proxy Host 생성 & HTTPS 적용

📌 프록시 호스트 추가

🔹 Proxy Hosts 탭에서 Add Proxy Host 버튼을 클릭합니다.

프록시 호스트 추가 버튼 Proxy Hosts 탭 위치

📌 세부 설정

  • Domain Names: 도메인이름.duckdns.org
  • Scheme: http
  • Forward Hostname / IP: Home Assistant의 내부 IP
  • Forward Port: 8123
  • Websockets Support 활성화
프록시 호스트 설정 화면

📌 SSL 인증서 설정

  • SSL 탭 클릭
  • Force SSL 체크
  • Email 입력 후 Let's Encrypt 약관 동의 체크
SSL 설정

📌 정상 등록 확인

🔹 등록이 완료되면 아래와 같이 Online 상태로 표시되어야 합니다.

프록시 온라인 상태 확인

6️⃣ 접속 테스트 및 마무리

📌 DuckDNS 도메인으로 접속 확인

🔹 이제 다음과 같은 주소로 Home Assistant에 안전하게 접속할 수 있습니다:

https://도메인이름.duckdns.org
홈어시스턴트 https 접속 성공 화면

🔹 이제 외부에서도 포트번호 없이 HTTPS로 Home Assistant를 이용할 수 있습니다!


🏁 마무리 및 팁

  • 💡 Nginx Proxy Manager는 다른 웹 서비스도 함께 관리할 수 있어 다용도로 활용 가능합니다.
  • 💡 Home Assistant를 외부에 노출시키는 만큼, 계정 보안 강화2단계 인증 설정도 권장합니다.
  • 💡 80번 포트는 인증서 갱신을 위한 용도로 항상 열려 있어야 하며, 443번 포트는 HTTPS 접속용입니다.
  • 💡 SSL 인증서 자동 갱신이 실패하지 않도록, 공유기 설정 변경 시 포트포워딩이 유지되는지 꼭 확인하세요.
  • 💡 내부 IP가 바뀌지 않도록 IP 고정 설정도 함께 해두면 안정적인 운영에 도움이 됩니다.

⛳ 궁금한 점이나 오류가 있다면 댓글로 남겨주세요. 감사합니다!


×
반응형