Puncte:0

Interfața de utilizare Matrix Synapse din spatele proxy-ului invers NGINX

drapel ru

Am configurat un server Matrix Synapse și totul funcționează bine până acum.

Singura mea problemă este accesarea interfeței de utilizare pe care am primit-o de la github Tehnologii minunate / synapse-admin

Am legat simbolul index.html în nginx webroot la /var/www/html și am scris un alt bloc de server în configurația mea și am personalizat configurația pe proxy-ul meu invers pe un server separat. Am încercat deja cu diferite porturi și directive de locație, dar cumva nimic nu pare să funcționeze. În ceea ce privește documentația sau exemplele de lucru, informațiile despre acest proiect sunt destul de puține. Am pierdut ceva?

Conf. server Matrix

Server {
    asculta 8080;
    nume_server matrix.example.tld www.matrix.example.tld;
    locație /_matrice {
        proxy_pass http://localhost:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
        client_max_body_size 50M;
    }
}

#Federația Matrix
Server {
    asculta 8448;
    nume_server matrix.example.tld www.matrix.example.tld;

    Locație / {
        proxy_pass http://localhost:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

Server {
    asculta 80;
    rădăcină /var/www/html;
    index index.html index.htm

    numele serverului _;

    Locație / {
        try_files $uri $uri/ =404;
    }
}

Reverse Proxy conf

##Matrice
Server {
    asculta 80;
    nume_server matrix.example.tld www. matrice.exemplu.tld;
    returnează 301 https://$host$request_uri;
}

Server {
    asculta 443 ssl;
    nume_server matrix.example.tld www. matrice.exemplu.tld;

    locație /_matrice {
        trece_proxy http://SRV_IP:8080;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $schema;
        client_max_body_size 50M;
    }

    locație /_synapse/admin {
        proxy_pass http://SRV_IP;
        proxy_set_header X-Forwarded-For $remote_addr;
    }

    # Portul Federației
    asculta 8448 ssl;

    Locație / {
        proxy_pass http://SRV_IP:8448;
        proxy_set_header X-Forwarded-For $remote_addr;
    }

    ssl_certificate /etc/letsencrypt/live/matrix.example.tld/>
    ssl_certificate_key /etc/letsencrypt/live/matrix.example.tld >
    includ /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;


}
drapel us
Vă rugăm să adăugați informații, ce solicitare ați încercat, care a fost rezultatul așteptat și care a fost rezultatul real.
drapel ru
Am încercat să solicit /_synapse/admin și am primit o eroare 404. Rezultatul așteptat ar fi index.html al proiectului github menționat mai sus
Puncte:0
drapel us

Asta se întâmplă atunci când solicitați https://matrix.example.tld/_synapse/admin.

Solicitarea ajunge prima locație /_synapse/admin bloc în configurația gazdă virtuală proxy inversă.

Proxy-ul invers nginx face o solicitare către http://SRV_IP/_synapse/admin. Modul implicit pentru proxy_pass este să adăugați URI-ul după numele domeniului / IP atunci când nu este specificat niciun URI proxy_pass.

Această solicitare atinge configurația principală nginx, unde ajunge să fie procesată de ultima configurație a gazdei virtuale. Acolo, nginx folosește URI-ul cererii pentru a localiza fișierele pentru cerere.

The rădăcină este /var/www/html iar URI-ul este /_synapse/admin. Deci, nginx încearcă să servească /var/www/html/_synapse/admin ca răspuns la cerere. Deoarece nu există un astfel de director, nginx trimite răspunsul 404.

Daca vrei https://matrix.example.tld/_synapse/admin pentru a servi dosare în /var/www/html, trebuie să modificați configurația proxy inversă după cum urmează:

locație /_synapse/admin {
    proxy_pass http://SRV_IP/;
    proxy_set_header X-Forwarded-For $remote_addr;
}

Acest lucru îi spune lui nginx să înlocuiască URI-ul în Locație parte cu /.

drapel ru
Grozav răspuns! Am trecut prin documentația nginx, dar nu mi-a fost destul de clar cum funcționează toată această redirecționare. Multumesc din nou

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.