(선택) TLS 설정

Mattermost v11.11번역일: 2026-09-02원본 보기

사용자가 HTTPS로 접속하도록 하려면 두 가지 선택지가 있습니다.

(권장) NGINX 프록시 설정 문서를 따라 NGINX 같은 프록시를 설치한 뒤 프록시에서 TLS를 설정하는 방법입니다. 사용자 수가 많거나(200명 초과), 부하 분산·캐싱처럼 다른 이유로 리버스 프록시를 사용하려는 경우 권장하는 방식입니다. 프록시 서버는 더 나은 성능을 제공하며 표준 HTTP 요청 로그를 남깁니다.

사용자가 200명 미만이라면 Mattermost 서버에서 직접 TLS를 설정할 수도 있습니다. 리버스 프록시가 필요하지 않을 때 가장 간단한 방법입니다.

  • Let's Encrypt를 사용해 인증서를 자동으로 설치하고 설정할 수 있습니다.
  • 직접 보유한 인증서를 지정할 수도 있습니다.
  • 자체 서명 인증서도 사용할 수 있지만 프로덕션 환경에는 권장하지 않습니다.

Mattermost 서버에서 TLS 구성

  1. 시스템 콘솔 > 환경 > 웹 서버에서 다음을 설정합니다.

    1. Listen Address 설정을 :443으로 변경합니다.
    2. Connection Security 설정을 TLS로 변경합니다.
    3. Forward port 80 to 443 설정을 true로 변경합니다.
  2. Mattermost가 낮은 번호의 포트에 바인딩할 수 있도록 CAP_NET_BIND_SERVICE 기능을 활성화합니다.

    sudo setcap cap_net_bind_service=+ep /opt/mattermost/bin/mattermost
  3. 보안 인증서를 설치합니다. Let's Encrypt로 인증서를 자동 설치·설정하거나 직접 보유한 인증서를 지정합니다.

Let's Encrypt 인증서 사용

인증서는 클라이언트가 Mattermost 서버에 처음 접속을 시도할 때 발급받습니다. 클라이언트가 서버에 접속할 때 사용하는 모든 호스트 이름에 대해 인증서를 발급받습니다.

  1. Use Let's Encrypt 설정을 true로 변경합니다.
  2. 변경 사항을 적용하려면 Mattermost 서버를 재시작합니다.
참고
  • Let's Encrypt를 활성화한 경우, Let's Encrypt 인증을 완료하려면 방화벽에서 80 포트를 포워딩하고 config.json의 Forward80To443 설정을 true로 지정해야 합니다.
  • Let's Encrypt CA가 도메인 이름을 검증하고 인증서를 발급하려면 Mattermost 서버에 접근할 수 있어야 합니다. 방화벽을 열고 리버스 프록시가 80 및 443 포트로 트래픽을 전달하도록 구성하세요. 자세한 내용은 Let's Encrypt 문서에서 확인할 수 있습니다.

직접 보유한 인증서 사용

  1. Use Let's Encrypt 설정을 false로 변경합니다.
  2. TLS Certificate File 설정을 인증서 파일 위치로 변경합니다.
  3. TLS Key File 설정을 개인 키 파일 위치로 변경합니다.
  4. 변경 사항을 적용하려면 Mattermost 서버를 재시작합니다.
참고

비밀번호로 보호된 인증서는 지원하지 않습니다.

NGINX에서 TLS 사용(프록시로 사용하는 경우)

주의

NGINX에 TLS를 설정하기 전에 Mattermost에 먼저 TLS를 설정하지 마세요. TLS 때문에 Mattermost 서버와 정상적으로 통신하지 못해 연결이 끊어집니다.

  • NGINX는 클라이언트와 Mattermost 서버 사이의 트래픽을 암호화하는 포워드 프록시 역할을 합니다. SSL 인증서를 설치하면 인터넷에 노출된 443 포트에서 NGINX가 수신 트래픽을 처리하고, 80 포트에서 실행 중인 Mattermost 서버로 프록시합니다.
  • (선택) NGINX와 Mattermost 서버 사이의 업스트림 암호화도 사용할 수 있습니다.
  • TCP 업스트림 서버의 SSL 종료 설정에 관한 NGINX 가이드를 따르세요.

추가로 도움이 되는 자료는 다음과 같습니다.