본문 바로가기
Hardware/Home Assistant(라즈베리파이)

Home Assistant, HTTPS 접속 활성화

by lovey25 2020. 11. 5.
반응형

Home Assistant(HA)에서 확장 기능을 사용하려다 보면 HTTPS를 사용하는 보안접속이 필요한 경우가 있습니다. 그래서 HA를 좀 본격적으로 활용해 보겠다 하면 필수적으로 적용해야 하는 것이 바로 HTTPS 접속입니다. SSL을 이용한 보안이 강화된 프로토콜이라고 하는데 자세한 건 모르지만 일단 필요하니까 무작정 설정해 봅니다.

먼저 www.duckdns.org/ 로 이동해서 회원가입합니다. 

DuckDNS 계정이 만들어지고 나면 위 화면과 같이 홈페이지 위쪽에서 계정 정보를 확인할 수 있습니다. 나중에 HA설정 시 토큰 값이 필요한데 여기 있는 토큰 값이 사용됩니다.

이제 도메인 설정을 해 줍니다.

아래 화면에서 검은색 부분에 sub domain이라고 된 입력란에 HA서버로 사용할 서브도메인명을 넣고 'add domain'을 눌러서 내 서브도메인을 등록합니다. 만약 사용할 수 있는 도메인이라면 아래에 해당 도메인에 연결할 IP주소를 입력하는 란이 열립니다. 

IP주소는 HA서버에 접속할 수 있는 주소를 넣어주면 됩니다. 그럼 여기서 의문이 생길 수 있습니다. 나는 HA가 설치된 라즈베리파이를 공유기 밑에 물려서 쓰고 있고 그리고 공유기는 고정아이피가 아니라 유동 아이피를 받아서 사용하기 때문에 나중에라도 IP가 바뀔 수 있는데 그럼 그때마다 여기 와서 IP주소를 업데이트해 줘야 하냐?!라고 생각할 수 있는데 유동 IP를 커버하기 위한 솔루션이 바로 DDNS이기 때문에 당연히 그건 걱정하지 않아도 됩니다. 나중에 HA에서 DuckDNS를 설정하고 나면 알아서 아이피 변경 여부를 확인해서 업데이트해주니까요. 아래는 DuckDNS의 실행 로그인데요. 때때로 IP변동 여부를 확인하고 있는 것을 알 수 있습니다.

자 이제 HA에서 설정을 마무리 해 보겠습니다.

HA "Supervior >> Add-on Store"로 이동해서 검색창에 duckdns라고 검색해서 Add-on을 설치해 줍니다.

그리고 DuckDNS의 "Configuration"메뉴로 이동해서 설정을 내 계정에 맞게 수정해 줍니다. token과 domains는 처음에 DuckDNS 가입 시 받았던 값으로 넣어주고 저장을 합니다.

lets_encrypt:
  accept_terms: true
  certfile: fullchain.pem
  keyfile: privkey.pem
token: @@@@@
domains:
  - @@@@@.duckdns.org
aliases: []
seconds: 300

그리고 DuckDNS 화면으로 돌아와서 Start 버튼을 눌러서 Add-on을 기동합니다.

이제 HA 설정 파일에 아래 내용만 추가해주면 DuckDNS 설정이 마무리됩니다.

/config/configuration.yaml 파일에 다음 내용을 추가합니다.

http:
  base_url: https://@@@@@.duckdns.org
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

@@@@@ 부분은 서브도메인 명으로 수정하면 되겠죠. 이제 이렇게 하면 DuckDNS로 만든 도메인으로 SSL 보안 연결이 가능합니다. 

이제부터 접속 주소는 "HTTPS://@@@@@.duckdns.org"가 됩니다.

마지막으로 공유기 환경에서는 포트 포워딩 설정을 변경해 주어야 합니다. HTTP와 다르게 HTTPS의 기본 접속 포트번호는 443번입니다. 따라서 공유기에서 443번 포트 접속을 HA서버 기본 포트인 8123으로 우회시켜주어야 접속이 되겠죠. 공유기 설정에 따라 TCP(443) → TCP(8123) 포트 포워딩을 추가해줍니다.

 

끝!

반응형

댓글