私はたるみが高すぎることにうんざりしているので、それを最も重要なものに置き換えることにしました。パブリックIPを備えたAWSubuntuボックスを入手し、最も重要なことに従いました インストール手順 (主な違いは、個別のデータベースサーバーとストレージを使用するのではなく、すべてを同じサーバーで実行していることですサーバーなど。それらはすべて同じマシンで実行されています。つまり http://127.0.0.1 )
私のドメイン(lobolabshq.com)は wix によって管理されているので、サブドメインを追加しました:mattermost.lobolabshq.com
AWSボックスに最も重要なサーバーをインストールしてから、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サーバーがダウンしているか、ビジー状態であるか、その他の問題が発生して要求に応答できない可能性があります。後で再試行することをお勧めします。
docs によると、curl http://127.0.0.01:8065
を実行すると、最も重要なウェルカムページが返されるため、最も重要なサーバーがローカルで正常に実行されていることを私は知っています。
curl http://localhost
またはcurl http://127.0.0.1
を実行すると、nginxが正常に実行されていることはわかっていますが、同じ問題のウェルカムページも表示されます。
http://mattermost.lobolabshq.com も私のawsボックスpublicipを指していることを私は知っています:
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
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 :::*
ローカルでcurl localhost
を実行すると、nginxアクセスログが更新されます。
127.0.0.1 - - [18/Jan/2017:06:41:09 +0000] "GET / HTTP/1.1" 200 2246 "-" "curl/7.47.0"
しかし、ブラウザからmattermost.lobolabshq.comにアクセスしても、そのようなエントリは取得されません。
AWSボックスが含まれているセキュリティグループを更新し、ポート80でのすべての着信TCP接続が機能するようにする必要がありました。