Hintergrund

Hintergrund

Hintergrund

Ich habe es satt, dass Slack zu teuer ist, also habe ich beschlossen, es durch Mattermost zu ersetzen. Ich habe eine AWS-Ubuntu-Box mit einer öffentlichen IP bekommen und bin den Mattermost-Richtlinien gefolgt.Installationsanleitung(der Hauptunterschied besteht darin, dass ich alles auf demselben Server laufen lasse, im Gegensatz zu einem separaten Datenbankserver und Speicherserver usw., die alle auf derselben Maschine laufen, d. h.http://127.0.0.1)

Meine Domain (lobolabshq.com) wird verwaltet vonwix, und so habe ich eine Subdomäne hinzugefügt:mattermost.lobolabshq.com

Ich habe den Mattermost-Server auf der AWS-Box installiert und dann nginx so eingerichtet, dass die Anfragen an den nginx-Server weitergeleitet werden. Meine nginx-Proxy-Konfiguration ist gespeichert /etc/nginx/sites-available/mattermostund sieht folgendermaßen aus:

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;
    }
}

Problem

Wenn ich gehehttp://mattermost.lobolabshq.comes gibt diesen Fehler zurück:

Netzwerkfehler (tcp_error)

Ein Kommunikationsfehler ist aufgetreten: „Zeitüberschreitung des Vorgangs“. Der Webserver ist möglicherweise ausgefallen, überlastet oder weist andere Probleme auf, die verhindern, dass er auf Anfragen reagiert. Sie können es zu einem späteren Zeitpunkt erneut versuchen.

Analyse/Was ich versucht habe

Der Mattermost-Server läuft lokal einwandfrei

Ich weiß, dass mein Mattermost-Server lokal einwandfrei läuft, denn lautDokumentewenn ich curl http://127.0.0.01:8065es ausführe, wird die Mattermost-Willkommensseite zurückgegeben

Der Nginx-Server leitet Anfragen erfolgreich an Port :80 um.

Ich weiß, dass Nginx einwandfrei läuft, denn wenn ich es ausführe curl http://localhost, curl http://127.0.0.1erhalte ich auch dieselbe Willkommensseite von Mattermost.

Domäne zeigt auf AWS-Maschine

Ich weiß dashttp://mattermost.lobolabshq.comverweist auch auf die öffentliche IP meiner AWS-Box:

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-Ausgabe

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                 :::*

Externe Anfragen erreichen ngix NICHT

Wenn ich es curl localhostlokal ausführe, werden meine Nginx-Zugriffsprotokolle aktualisiert:

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

aber ich bekomme keinen solchen Eintrag, wenn ich mattermost.lobolabshq.com vom Browser aus aufrufe

Antwort1

Ich musste lediglich die Sicherheitsgruppe aktualisieren, zu der meine AWS-Box gehörte, und alle eingehenden TCP-Verbindungen über Port 80 zulassen.

verwandte Informationen