Mattermost + Apache2 with SSL - ブログ

本日はMattermost, Apache2 と SSLを組み合わせてサーバを構築する際の参考情報のご提供です。

MattermostをAapache2と組み合わせてSSLで運用する方法は、公式ホームページに非公式情報として設定方法の説明があります。

この説明の中にはAapache2の詳細versionに対する記述はありません。

その中で、apache2のconfigurationファイルの設定として以下の記述があります。

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName mysubdomain.mydomain.com
        ServerAdmin hostmaster@mydomain.com
        ProxyPreserveHost On
        RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
        RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}

        RewriteEngine On
        RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket [NC,OR]
        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>

        # Generated by Certbot
        SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

詳細に試したわけではないのですが、上記方法はApache 2.4.8以降の設定方法となり、Apache 2.4.7までは証明書の設定部分を以下のよう変える必要があると思われます。

SSLCertificateFile /etc/letsencrypt/live/mydomain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/chain.pem

実際に、Apache2.4.6とLet’s Encyptで発行者した証明書を用いて、公式HPの情報をもとに設定するとサーバの起動は正常にできますが、Android版 MattermostアプリからログインしようとするとSSLのエラーが出てログインできません。

ちなみに、同じAndroidでもブラウザ等からのアクセスは問題なくできますし、windows版のアプリやブラウザからは何の問題もありませんので、インストール時に問題を発見しにくいです。

Mattermost + Apache2 + SSL での運用される際にはApacheの詳細バージョンに留意ください。

  • ご注意
    • 本情報は記事を執筆した時点での情報です。
    • 本情報を使用した結果に対してFREEDOM CREATIONSでは一切の責任は負いません、あらかじめご了承ください。

カテゴリ

月別