(선택 사항) TLS 설정
Mattermost v12.0요약
사용자가 HTTPS로 연결하려는 경우 두 가지 옵션이 있습니다: NGINX 등 프록시를 설치한 후 프록시에 TLS를 설정합니다. 또는 사용자 수가 200명 미만이라면 Mattermost 서버에 직접 TLS를 설정할 수 있습니다.
사용자가 HTTPS로 연결하려는 경우 두 가지 옵션이 있습니다:
NGINX 등 프록시를 설치한 후 프록시에 TLS를 설정합니다. 사용자 수가 많거나(200명 이상), 부하 분산이나 캐싱 등 다른 이유로 리버스 프록시가 필요한 경우 권장하는 옵션입니다. 프록시 서버는 더 나은 성능을 제공하고 표준 HTTP 요청 로그를 제공합니다.
또는 사용자 수가 200명 미만이라면 Mattermost 서버에 직접 TLS를 설정할 수 있습니다. 이 방법은 리버스 프록시가 필요하지 않을 때 가장 간단한 옵션입니다.
- Let's Encrypt를 사용하여 인증서를 자동으로 설치하고 설정할 수 있습니다.
- 자체 인증서를 지정할 수도 있습니다.
- 자체 서명 인증서를 사용할 수 있지만, 프로덕션 환경에는 권장하지 않습니다.
Mattermost 서버에 TLS 구성#
- System Console > Environment > Web Server에서:
- 수신 주소 설정을
:443으로 변경합니다.- 연결 보안 설정을
TLS로 변경합니다.- 포트 80을 443으로 전달 설정을
true로 변경합니다.
-
Mattermost가 낮은 포트에 바인딩할 수 있도록
CAP_NET_BIND_SERVICE기능을 활성화합니다:sudo setcap cap_net_bind_service=+ep /opt/mattermost/bin/mattermost -
보안 인증서를 설치합니다. Let's Encrypt를 사용하여 자동으로 인증서를 설치 및 설정하거나, 자체 인증서를 지정합니다.
Let's Encrypt 인증서 사용#
인증서는 클라이언트가 Mattermost 서버에 처음 연결을 시도할 때 가져옵니다. 클라이언트가 서버에 접근하려는 모든 호스트명에 대해 인증서가 가져와집니다.
- Let's Encrypt 사용 설정을
true로 변경합니다. - 변경 사항을 적용하려면 Mattermost 서버를 재시작합니다.
- Let's Encrypt가 활성화된 경우, Forward80To443
config.json설정을true로 설정하여 방화벽을 통해 포트 80을 전달함으로써 Let's Encrypt 인증을 완료합니다. - Mattermost 서버는 도메인 이름을 확인하고 인증서를 발급받기 위해 Let's Encrypt CA에서 접근 가능해야 합니다. 방화벽을 열고 80 및 443 포트로 트래픽을 전달하도록 리버스 프록시를 구성해야 합니다. 자세한 내용은 Let's Encrypt에서 확인할 수 있습니다.
자체 인증서 사용#
- Let's Encrypt 사용 설정을
false로 변경합니다. - TLS 인증서 파일 설정을 인증서 파일의 위치로 변경합니다.
- TLS 키 파일 설정을 개인 키 파일의 위치로 변경합니다.
- 변경 사항을 적용하려면 Mattermost 서버를 재시작합니다.
비밀번호로 보호된 인증서는 지원되지 않습니다.
NGINX에서 TLS 사용 (프록시로서)#
NGINX에 TLS를 설정하기 전에 Mattermost에 TLS를 설정하지 마세요. TLS가 Mattermost 서버와의 통신을 방해하여 연결이 끊어집니다.
- NGINX는 클라이언트와 Mattermost 서버 간의 트래픽을 암호화하는 포워드 프록시 역할을 합니다. SSL 인증서를 설치하면 인터넷에 노출된 포트 443에서 NGINX가 수신 트래픽을 처리하고, 포트 80에서 실행 중인 Mattermost 서버로 프록시합니다.
- (선택 사항) NGINX에서 Mattermost 서버로의 업스트림 암호화도 허용됩니다.
- NGINX의 TCP 업스트림 서버에 대한 SSL 종료 설정 가이드를 따르세요.
관련 리소스: