Awesome-Technologies / synapse-admin

Admin console for synapse Matrix homeserver
https://awesome-technologies.github.io/synapse-admin/
Apache License 2.0
785 stars 121 forks source link

I logged into the panel but was getting request errors #566

Closed bestperson-free closed 1 week ago

bestperson-free commented 1 week ago

Hello, I went to the panel, but I can't do anything further. Added a token from the admin element, did not help. 100% administrator record, tell me how to correct or what to change? Thank you Снимок экрана_20240703_151458

synapse-admin/#/users:1 Access to fetch at 'https://matrix.angellive.ru/_synapse/admin/v2/users?deactivated=false&dir=f&from=0&guests=true&limit=10&order_by=name' from origin 'https://awesome-technologies.github.io' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
index-BNuHYPbT.js:96 
`        
`       
GET https://matrix.angellive.ru/_synapse/admin/v2/users?deactivated=false&dir=f&from=0&guests=true&limit=10&order_by=name net::ERR_FAILED
Xl @ index-BNuHYPbT.js:96
Po @ index-BNuHYPbT.js:305
getList @ index-BNuHYPbT.js:305
(anonymous) @ index-BNuHYPbT.js:96
(anonymous) @ index-BNuHYPbT.js:96
x @ index-BNuHYPbT.js:69
m @ index-BNuHYPbT.js:69
C4 @ index-BNuHYPbT.js:69
t.fetch @ index-BNuHYPbT.js:69
r.executeFetch @ index-BNuHYPbT.js:69
r.fetch @ index-BNuHYPbT.js:69
r.refetch @ index-BNuHYPbT.js:69
t.onFocus @ index-BNuHYPbT.js:69
(anonymous) @ index-BNuHYPbT.js:69
(anonymous) @ index-BNuHYPbT.js:69
t.batch @ index-BNuHYPbT.js:69
r.onFocus @ index-BNuHYPbT.js:69
(anonymous) @ index-BNuHYPbT.js:69
(anonymous) @ index-BNuHYPbT.js:69
r.onFocus @ index-BNuHYPbT.js:69
(anonymous) @ index-BNuHYPbT.js:69
i @ index-BNuHYPbT.js:69
index-BNuHYPbT.js:305 checkError undefined
index-BNuHYPbT.js:69 TypeError: Failed to fetch
    at Xl (index-BNuHYPbT.js:96:45553)
    at Po (index-BNuHYPbT.js:305:108566)
    at Object.getList (index-BNuHYPbT.js:305:113962)
    at Proxy.<anonymous> (index-BNuHYPbT.js:96:52348)
    at Object.queryFn (index-BNuHYPbT.js:96:53869)
    at Object.x [as fn] (index-BNuHYPbT.js:69:28097)
    at m (index-BNuHYPbT.js:69:22825)
    at new C4 (index-BNuHYPbT.js:69:23443)
    at t.fetch (index-BNuHYPbT.js:69:28556)
    at r.executeFetch (index-BNuHYPbT.js:69:46712)

and

server {

    # Client port

    listen 80;

    listen [::]:80;

    server_name matrix.xxxxx.xyz;

    return 301 https://$host$request_uri;

}

server {

    server_name matrix.xxxxx.xyz;

    # Client port

    listen 443 ssl http2;

    listen [::]:443 ssl http2;

    # Federation port

    listen 8448 ssl http2 default_server;

    listen [::]:8448 ssl http2 default_server;

    access_log  /var/log/nginx/synapse.access.log;

    error_log   /var/log/nginx/synapse.error.log;

     # TLS configuration

    ssl_certificate /etc/letsencrypt/live/matrix.xxxxx.xyz/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/matrix.xxxxx.xyz/privkey.pem;

    ssl_trusted_certificate /etc/letsencrypt/live/matrix.xxxxx.xyz/chain.pem;

    ssl_protocols TLSv1.2 TLSv1.3;

    ssl_prefer_server_ciphers on;

    ssl_stapling on;

    ssl_stapling_verify on;

    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # Increase timeout values
    # Useful if rooms (on different server) act very slowly.
    proxy_connect_timeout 300s;
    proxy_send_timeout 300s;
    proxy_read_timeout 300s;

    location ~ ^(/_matrix|/_synapse/client) {

            proxy_pass http://localhost:8008;

            proxy_http_version 1.1;

            proxy_set_header X-Forwarded-For $remote_addr;

            proxy_set_header X-Forwarded-Proto $scheme;

            proxy_set_header Host $host;

            # Nginx by default only allows file uploads up to 1M in size

            # Increase client_max_body_size to match max_upload_size defined in homeserver.yaml

            client_max_body_size 250M;

    }

    location /.well-known/matrix/server {
      return 200 '{"m.server": "matrix.xxxxx.xyz:443"}';
      add_header Content-Type application/json;
    }

    location /.well-known/matrix/client {
      return 200 '{"m.homeserver": {"base_url": "https://matrix.xxxxx.xyz"}}';
      add_header Content-Type application/json;
      add_header "Access-Control-Allow-Origin" *;
    }

}

and

pid_file: "/var/run/matrix-synapse.pid"
listeners:
  - port: 8008
    tls: false
    type: http
    x_forwarded: true
    bind_addresses: ['::1', '127.0.0.1']
    resources:
      - names: [client, federation]
        compress: false
database:
  name: psycopg2
  args:
      user: qNwxxxxxxxxxx
      password: b9hSoBbJ2iJjexxxxxxxxxxxxxx
      database: synapse
      host: localhost
      cp_min: 5
      cp_max: 10
log_config: "/etc/matrix-synapse/log.yaml"
media_store_path: /var/lib/matrix-synapse/media
signing_key_path: "/etc/matrix-synapse/homeserver.signing.key"
trusted_key_servers:
  - server_name: "matrix.predckazanie.ru"
registration_shared_secret: "ZboR3t2T7L6siB8xxxxxxxxxxxxxxxxxxxxxxxxxx"
enable_registration: false
max_upload_size: 250M
turn_uris: [ "turn:coturn.matrix.predckazanie.ru?transport=udp", "turn:coturn.matrix.predckazanie.ru?transport=tcp" ]
turn_shared_secret: "aRix9zpb8JFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
turn_user_lifetime: 86400000
turn_allow_guests: True

presence:
    enabled: false

enable_metrics: false
report_stats: false
awesome-manuel commented 1 week ago

See https://github.com/matrix-org/synapse/blob/develop/docs/reverse_proxy.md how to configure CORS for synapse.

bestperson-free commented 4 days ago

См. https://github.com/matrix-org/synapse/blob/develop/docs/reverse_proxy.md , как настроить CORS для синапса.

Hello, I tried all possible options, read a bunch of everything, and I have not been able to get access yet. Please correct my file if possible. Thank you

    # Client port
    listen 80;
    listen [::]:80;
    server_name matrix.xxxxx.xyz;
    return 301 https://$host$request_uri;
}

server {
    server_name matrix.xxxxx.xyz;

    # Client port
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # Federation port
    listen 8448 ssl http2 default_server;
    listen [::]:8448 ssl http2 default_server;

    access_log  /var/log/nginx/synapse.access.log;
    error_log   /var/log/nginx/synapse.error.log;

    # TLS configuration
    ssl_certificate /etc/letsencrypt/live/matrix.xxxxx.xyz/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/matrix.xxxxx.xyz/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/matrix.xxxxx.xyz/chain.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # Increase timeout values
    proxy_connect_timeout 300s;
    proxy_send_timeout 300s;
    proxy_read_timeout 300s;

    location ~ ^(/_matrix|/_synapse/client) {
        proxy_pass http://localhost:8008;
        proxy_http_version 1.1;

        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;

        # Nginx by default only allows file uploads up to 1M in size
        # Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
        client_max_body_size 250M;

        # Add CORS headers
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, HEAD, PUT, PATCH, POST, DELETE, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization';
        Access-Control-Max-Age: 86400
    }

    location /.well-known/matrix/server {
        return 200 '{"m.server": "matrix.xxxxx.xyz:443"}';
        add_header Content-Type application/json;
    }

    location /.well-known/matrix/client {
        return 200 '{"m.homeserver": {"base_url": "https://matrix.xxxxx.xyz"}}';
        add_header Content-Type application/json;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, HEAD, PUT, PATCH, POST, DELETE, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization';
        Access-Control-Max-Age: 86400
    }
}