Just tested 3.8.2. Still seeing the same issue.
I have a nginx reverse proxy. Was working on 3.7.3
[2017/04/21 15:08:58 PDT] [EROR] websocket connect err: websocket: origin not allowed
[2017/04/21 15:09:44 PDT] [EROR] /api/v3/users/websocket:connect code=500
My nginx config
upstream mattermost {
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 chat.mycomp.com;
server_tokens off;
return 301 https://chat.mycomp.com:443$request_uri;
access_log /var/log/gitlab/nginx/mattermost_access.log;
error_log /var/log/gitlab/nginx/mattermost_error.log;
}
server {
listen *:443 ssl http2;
server_name chat.mycomp.com;
server_tokens off; # don't show the version number, a security best practice
client_max_body_size 250m;
ssl on;
ssl_certificate /etc/gitlab/ssl/mycomp-chained.crt;
ssl_certificate_key /etc/gitlab/ssl/mycomp.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
## Real IP Module Config
## http://nginx.org/en/docs/http/ngx_http_realip_module.html
access_log /var/log/gitlab/nginx/mattermost_access.log;
error_log /var/log/gitlab/nginx/mattermost_error.log;
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://mattermost;
}
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://mattermost;
}
}