背景

背景

背景

我厭倦了 slack 太貴了,所以我決定用 Mattermost 代替它。我得到了一個帶有公共IP的AWS ubuntu盒子,並遵循了最重要的安裝說明(主要區別是我在同一台伺服器上運行所有內容,而不是擁有單獨的資料庫伺服器和儲存伺服器等。它們都在同一台機器上運行,即http://127.0.0.1

我的網域 (lobolabshq.com) 由以下人員管理維克斯,所以我新增了一個子網域:Mattermost.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:8065它返回最重要的歡迎頁面

nginx 伺服器成功將請求重新路由到 :80 連接埠

我確實知道 nginx 運作良好,b/c 當我運行時curl http://localhost,或者curl http://127.0.0.1我也得到相同的最重要的歡迎頁面。

域指向AWS機器

我確實知道http://mattermost.lobolabshq.com也指向我的 aws box 公共 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

網路統計輸出

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 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 時,我沒有收到這樣的條目

答案1

我只需更新我的 aws 盒子所屬的安全群組,並允許連接埠 80 上的所有傳入 TCP 連線正常運作

相關內容