(선택 사항) TLS 설정#

HTTPS로 사용자가 연결되도록 하려면 두 가지 옵션이 있습니다:

NGINX와 같은 프록시 설치프록시에 TLS 설정. 사용자가 많거나(200명 이상) 로드 밸런싱이나 캐싱과 같은 다른 이유로 리버스 프록시를 사용하려는 경우 권장되는 옵션입니다. 프록시 서버는 더 나은 성능을 제공하고 표준 HTTP 요청 로그를 제공합니다.

또는 사용자가 200명 미만인 경우 Mattermost 서버에 TLS를 설정할 수 있습니다. 리버스 프록시를 사용할 필요가 없을 때 가장 쉬운 옵션입니다.

  • Let’s Encrypt 를 사용하여 인증서를 자동으로 설치하고 설정할 수 있습니다.

  • 자체 인증서를 지정할 수도 있습니다.

  • 자체 서명 인증서를 사용할 수 있지만, 프로덕션 환경에서는 권장되지 않습니다.

Mattermost 서버에 TLS 구성#

  1. 시스템 콘솔 > 환경 > 웹 서버 에서:

  1. 수신 주소 설정을 :443 으로 변경합니다.

  2. 연결 보안 설정을 TLS 로 변경합니다.

  3. 포트 80을 443으로 전달 설정을 true 로 변경합니다.

  1. Mattermost가 낮은 포트에 바인딩할 수 있도록 CAP_NET_BIND_SERVICE 기능을 활성화합니다:

    sudo setcap cap_net_bind_service=+ep /opt/mattermost/bin/mattermost
    
  2. 보안 인증서를 설치합니다. Let’s Encrypt를 사용하여 인증서를 자동으로 설치하고 설정하거나 자체 인증서를 지정합니다.

Let’s Encrypt 인증서 사용#

클라이언트가 Mattermost 서버에 연결을 시도하는 첫 번째 시도에서 인증서가 검색됩니다. 클라이언트가 서버에 도달하려고 시도하는 모든 호스트명에 대해 인증서가 검색됩니다.

  1. Let’s Encrypt 사용 설정을 true 로 변경합니다.

  2. 변경사항을 적용하려면 Mattermost 서버를 재시작합니다.

참고

  • Let’s Encrypt가 활성화된 경우, Let’s Encrypt 인증을 완료하기 위해 방화벽을 통해 포트 80을 전달하고 Forward80To443 config.json 설정을 true 로 설정합니다.

  • 도메인 이름을 확인하고 인증서를 발급받기 위해서는 Mattermost 서버가 Let’s Encrypt CA에서 접근 가능해야 합니다. 방화벽을 열고 모든 리버스 프록시를 구성하여 트래픽을 포트 80과 443으로 전달하도록 하세요. 자세한 내용은 Let’s Encrypt 에서 확인할 수 있습니다.

자체 인증서 사용#

  1. Let’s Encrypt 사용 설정을 false 로 변경합니다.

  2. TLS 인증서 파일 설정을 인증서 파일의 위치로 변경합니다.

  3. TLS 키 파일 설정을 개인 키 파일의 위치로 변경합니다.

  4. 변경사항을 적용하려면 Mattermost 서버를 재시작합니다.

참고

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

NGINX에서 TLS 사용 (프록시로)#

경고

NGINX에 대해 TLS를 설정하기 전에 Mattermost에 TLS를 설정하지 마세요. TLS가 Mattermost 서버와의 성공적인 통신을 방해하여 연결이 끊어집니다.

  • NGINX는 클라이언트와 Mattermost 서버 간의 트래픽을 암호화하는 포워드 프록시 역할을 합니다. SSL 인증서를 설치한 후, 인터넷에 노출된 포트 443의 NGINX를 통해 들어오는 트래픽이 처리되어 포트 80에서 실행 중인 Mattermost 서버로 프록시됩니다.

  • (선택사항) NGINX와 Mattermost 서버 간의 업스트림 암호화가 허용됩니다.

  • NGINX의 TCP 업스트림 서버용 SSL 종료 설정 가이드 를 따르세요.

더 유용한 리소스: