背景

背景

背景

Slackが高すぎることにうんざりしたので、Mattermostに置き換えることにしました。パブリックIPを持つAWS Ubuntuボックスを入手し、Mattermostに従いました。インストール手順(主な違いは、別々のDBサーバーやストレージサーバーなどではなく、すべてを同じサーバーで実行していることです。それらはすべて同じマシンで実行されています。http://127.0.0.1

私のドメイン(lobolabshq.com)は、ウィックスそこでサブドメインを追加しました:当サイトについて

AWS ボックスに Mattermost サーバーをインストールし、リクエストを nginx サーバーにプロキシするように nginx を設定しました。私の nginx プロキシ設定は次の場所に保存されており/etc/nginx/sites-available/mattermost、次のようになります。

upstream backend {
    server 127.0.0.1:8065;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

server {
    listen 80;
    server_name    mattermost.lobolabshq.com;

    location /api/v3/users/websocket {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        client_max_body_size 50M;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Frame-Options SAMEORIGIN;
        proxy_buffers 256 16k;
        proxy_buffer_size 16k;
        proxy_read_timeout 600s;
        proxy_pass http://backend;
    }

    location / {
        client_max_body_size 50M;
        proxy_set_header Connection "";
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Frame-Options SAMEORIGIN;
        proxy_buffers 256 16k;
        proxy_buffer_size 16k;
        proxy_read_timeout 600s;
        proxy_cache mattermost_cache;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 2;
        proxy_cache_use_stale timeout;
        proxy_cache_lock on;
        proxy_pass http://backend;
    }
}

問題

私が行くときhttp://mattermost.lobolabshq.com次のエラーが返されます:

ネットワーク エラー (tcp_error)

通信エラーが発生しました: 「操作がタイムアウトしました」 Web サーバーがダウンしているか、ビジー状態であるか、その他の問題が発生しているためにリクエストに応答できない可能性があります。 しばらくしてからもう一度お試しください。

分析/私が試したこと

Mattermostサーバーはローカルで問題なく動作します

私のMattermostサーバーはローカルでは問題なく動作していることを知っています。ドキュメント実行すると、curl http://127.0.0.01:8065Mattermostのウェルカムページが返されます

nginx サーバーはリクエストを :80 ポートに正常に再ルーティングしました

nginx が正常に動作していることはわかっています。実行するとcurl http://localhostcurl http://127.0.0.1同じ mattermost のウェルカム ページが表示されるからです。

ドメインはAWSマシンを指しています

それは知っていますhttp://mattermost.lobolabshq.comまた、私の AWS ボックスのパブリック IP も指しています:

dig mattermost.lobolabshq.com

; <<>> DiG 9.8.3-P1 <<>> mattermost.lobolabshq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62124
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mattermost.lobolabshq.com. IN  A

;; ANSWER SECTION:
mattermost.lobolabshq.com. 1800 IN  A   54.165.78.199

netstat出力

sudo netstat -anp | grep tcp
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1803/nginx -g daemo
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1134/sshd
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1249/postgres
tcp        0      0 172.31.50.32:22         185.81.141.147:54411    ESTABLISHED 1860/sshd: ubuntu [
tcp        0     72 172.31.50.32:22         185.81.141.147:60344    ESTABLISHED 1603/sshd: ubuntu [
tcp6       0      0 :::22                   :::*                    LISTEN      1134/sshd
tcp6       0      0 :::8065                 :::*

外部リクエストが ngix に到達しない

ローカルで実行すると、curl localhostnginx アクセス ログが更新されます。

127.0.0.1 - - [18/Jan/2017:06:41:09 +0000] "GET / HTTP/1.1" 200 2246 "-" "curl/7.47.0"

しかし、ブラウザからmattermost.lobolabshq.comにアクセスしても、そのようなエントリは表示されません。

答え1

私は、AWSボックスが属するセキュリティグループを更新し、ポート80でのすべての着信TCP接続を許可するだけで済みました。

関連情報