Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: #46

Open
hmnilp opened this issue Dec 16, 2024 · 0 comments
Open

Bug: #46

hmnilp opened this issue Dec 16, 2024 · 0 comments
Labels

Comments

@hmnilp
Copy link

hmnilp commented Dec 16, 2024

Hi everyone, I have a problem with the plugin for mattermost.
The problem is only on the desktop web app version of mattermost. It doesn't show up on smartphone, tablet web apps or in none of native apps

Steps to reproduce the behavior

I've configured my mattermost with nginx. For some reason the owner of the domain wants mattermost on the root domain and not on the "mattermost." subdomain.
My nginx configuration is then the following

upstream backend {
   server 127.0.0.1:8065;
   keepalive 32;
}

server{
  listen 80;
  listen [::]:80 default_server;
  server_name mattermost.mydomain.com;
  return 301 https://mydomain.com$request_uri;
}

server {
  listen 443;
  server_name mattermost.mydomain.com;
  ssl_certificate /etc/ssl/certs/mattermost_cert.pem;
  ssl_certificate_key /etc/ssl/private/mattermost_key.pem;
  ssl_stapling on;
  ssl_stapling_verify on;
  return 301 https://mydomain.com$request_uri;
}

server {
  listen 80 default_server;
  server_name   mydomain.com;
  return 301 https://$server_name$request_uri;
}

server {
   listen 443 ssl http2;
   listen [::]:443 ssl http2;
   server_name    mydomain.com;

   http2_push_preload on; # Enable HTTP/2 Server Push

   ssl_certificate /etc/ssl/certs/mattermost_cert.pem;
   ssl_certificate_key /etc/ssl/private/mattermost_key.pem;
   ssl_session_timeout 1d;

   # Enable TLS versions (TLSv1.3 is required upcoming HTTP/3 QUIC).
   ssl_protocols TLSv1.2 TLSv1.3;

   # Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to
   # prevent replay attacks.
   #
   # @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
   ssl_early_data on;

   ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
   ssl_prefer_server_ciphers on;
   ssl_session_cache shared:SSL:50m;
   # HSTS (ngx_http_headers_module is required) (15768000 seconds = six months)
   add_header Strict-Transport-Security max-age=15768000;
   # OCSP Stapling ---
   # fetch OCSP records from URL in ssl_certificate and cache them
   ssl_stapling on;
   ssl_stapling_verify on;

   add_header X-Early-Data $tls1_3_early_data;

   location ~ /api/v[0-9]+/(users/)?websocket$ {
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       client_max_body_size 50M;
       proxy_set_header Host $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;
       client_body_timeout 60s;
       send_timeout 300s;
       lingering_timeout 5s;
       proxy_connect_timeout 90s;
       proxy_send_timeout 300s;
       proxy_read_timeout 90s;
       proxy_http_version 1.1;
       proxy_pass http://backend;
   }

   location / {
       client_max_body_size 100M;
       proxy_set_header Connection "";
       proxy_set_header Host $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_http_version 1.1;
       proxy_pass http://backend;
   }
}

# This block is useful for debugging TLS v1.3. Please feel free to remove this
# and use the `$ssl_early_data` variable exposed by NGINX directly should you
# wish to do so.
map $ssl_early_data $tls1_3_early_data {
  "~." $ssl_early_data;
  default "";
}

I've created the "mattermost." redirection because I saw that the boards plugin points to that subdomain everytime (don't know why)
The subdomain is also managed as CNAME in the DNS records (and points to mydomain.com)

Expected behavior

I would expect the boards plugin as well as I have in the smartphone and tablet webapp and all the native apps

Screenshots

image
This is what I see if I try ti reach boards plugin

image
By pressing go to home on the previous screenshot i get this page
If then I try to press login I get only a blank page

Edition and Platform

  • Edition: Mattermost Personal Server (10.2.1) | Boards plugin (9.0.4)
  • Version: Boards plugin (9.0.4)
  • Browser and OS: Brave on windows
@hmnilp hmnilp added the Triage label Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant