Apache2를 Mattermost 서버의 프록시로 구성하기 (비공식)

Important

이 비공식 안내서는 Mattermost 커뮤니티에 의해 유지보수되며, 이 배포 구성은 아직 Mattermost, Inc.에서 공식적으로 지원하지 않습니다. 커뮤니티 테스트, 피드백 및 개선 사항을 환영하며 크게 감사합니다 . GitHub에서 이 페이지를 편집 할 수 있습니다.

Ubuntu와 같은 데비안 기반 운영 체제에서 Apache2 프록시 구성은 /etc/apache2/sites-available 디렉터리에서 수행됩니다. Red Hat 기반 시스템은 Apache 구성 파일을 다르게 구성 합니다. Mattermost를 서브도메인에 설정하는 경우, mysubdomain.mydomain.com.conf 에 해당하는 새 구성 파일을 만들어야 합니다.

Apache2를 프록시로 구성하는 방법

  1. 서버에 SSH로 연결합니다.

  2. Apache 모듈 mod_rewrite , mod_proxy , mod_proxy_http , mod_proxy_wstunnel 이 설치되고 활성화되어 있는지 확인합니다. 그렇지 않은 경우, 리눅스 배포본의 지침에 따릅니다.

  3. 위에서 언급한 구성 파일을 만듭니다. 종종 000-default.conf 또는 default-ssl.conf (Ubuntu의 경우)의 사본으로 시작하는 것이 도움이 됩니다.

  4. 아래 안내서를 사용하여 구성을 수정합니다.

    1. 서브도메인을 설정하지 않는 경우, ServerName 은 간단히 mydomain.com 으로 설정됩니다.

    2. ServerAlias 를 원하면 www.mydomain.com 을 포함시킬 수도 있습니다.

    3. 값을 변경하여 서버 이름 등에 맞게 설정하세요.

    4. Mattermost 설정에서 TLS를 활성화한 경우, RewriteRule 에서 ws:// 대신에 프로토콜로 wss:// 를 사용해야 합니다.

    5. 다른 포트(예: 8443)에서 요청을 처리하려면, VirtualHost 요소에서 포트를 설정하는 것 외에도, VirtualHost 줄 앞에 새로운 줄로 Listen 8443 를 추가하세요.

<VirtualHost *:80>
  # 서브도메인을 사용하지 않는 경우 다음과 같이 ServerAlias를 설정해야 할 수도 있습니다:
  # ServerAlias www.mydomain.com
  ServerName mysubdomain.mydomain.com
  ServerAdmin hostmaster@mydomain.com
  ProxyPreserveHost On

  # 웹 소켓 설정
  RewriteEngine On
  RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket [NC]
  RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
  RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
  RewriteRule .* ws://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]

  <Location />
    Require all granted
    ProxyPass http://127.0.0.1:8065/
    ProxyPassReverse http://127.0.0.1:8065/
    ProxyPassReverseCookieDomain 127.0.0.1 mysubdomain.mydomain.com
  </Location>

</VirtualHost>
  1. (데비안/우분투 전용) 아마도 지금까지 Apache2에서 서브도메인을 설정하지 않았을 것이므로, a2ensite mysubdomain.mydomain.com 을 실행하여 사이트를 활성화합니다 ( a2ensite mysubdomain.mydomain.com.conf 를 실행하지 마십시오).

  2. Apache2를 재시작합니다.

    • Ubuntu 14.04 및 RHEL 6의 경우: sudo service apache2 art

    • Ubuntu 16.04+ 및 RHEL 7+의 경우: sudo systemctl art apache2

이제 모두 완료되었습니다! Mattermost 구성 파일이 올바른 URL(포트를 포함할 수도 있음)을 가리키고 있는지 확인한 다음, 배포된 후 소켓 연결이 끊기지 않도록 합니다. Mattermost에 외부 액세스를 방지하려면 구성 파일에서 ListenAddresslocalhost:8065 대신 :8065 로 설정하세요.