I just updated kanban to the latest version using git pull(commit a21945f84305eb46812db220d6fac7641b90f45f). Now when I login using gitlab.com the browser keeps reloading in a infinite loop at {host}/boards.
Same result after I tried to regenerate the OAuth client.
Running on Ubuntu with nginx 3.19.0-30-generic #33~14.04.1-Ubuntu
Do you running your kanban installation behind some proxy? If so, please try to pass the Host header to kanban in you proxy configuration, this is now required.
Same problem here using Apache 2.4 and and SSL enabled endpoint that proxies to kanban. The first page loads, I can authenticate to Gitlab, then the boards page loads but I can't get it out of a redirect loop once it gets there.
Besides the actual rewrite and proxy pass rules I have ProxyPreserveHost On set as well as RequestHeader set X-Forwarded-Proto "https" which are the usual ingredients needed to make this sort of thing work. What are we missing and where is this documented?
@simenschi please try to use this nginx config for kanban, we are shipping it as a part of docker installation, but it could help. Please provide us feedback - I will add it to docs entry if it will work for you.
@alerque Could you please post your apache config for kanban, or send it via email to support@leanlabs.io, please ensure to remove all sensitive information from config before sending it. We will try to reproduce issue and fix.
The short answer is - there is websocket, which should be proxied to, on /ws/ location, I'm not apache pro, so there is config file that worked for me (except 443 to 80 redirection):
I still have one problem though. It seems like some project works fine, while others logouts the user and prints the following in the console whenever I click the project link in at kanbanurl.com/boards:
[Error] Failed to load resource: the server responded with a status of 401 (Unauthorized) (board, line 0)http://mykanbanurl.com/api/board?project_id=user%2Fproject
Could this problem be related? Did not have that issue on the previous version.
I tried to reauthorize the application through gitlab.com with the same result.
@simenschi Great! We will document it, to make life easier for new users, thanks for your patience!
Yes, we got this one issue today to. This is an old one, we forgot to port hacks from old php backend, note the project names that are not working - does they have dots? If so, we will fix it in near release - these weekend, the problem is in dots encoding - gitlab api requires to encode dots as "%2E", and we forgot to add encoding.
@v.tyubek Thanks for the pointer. I hadn't realized there was WebSocket action going on here. Adding that config (or a variant using Rewrites) fixes that problem. I can now login and get the project list just fine.
However I'm not out of the woods yet. And this may be a case for another issue because I don't see any HTTP related errors here, but I can't actually load any of my projects. The first time I click on any of them I get logged out (or at least taken to the login screen again). Logging in takes me back to the project list again. Any other project will do the same thing, but if I try the same one I just tried, this time it will "open" a board page. Except that all it has is the header across the top, there is no board or tools at all. Are either of these behaviors related to this issue or should I report or ask about this elsewhere?
@v.tyubek Adding the NE flag to all the RewriteRule entries for Gitlab & Kanban fixed another long standing issue I've had with Gitlab (links to branches that have / in the branch name) but it didn't fix this issue. Any other ideas?
Dear @alerque, can you post your apache config, or send it to supermar@gmx.de? I have apache https reverse proxy with rewrite too, but could not yet get the sockets to work. Thanks!
@alerque could you please post kanban server logs here or to support@leanlabs.io also your apache config for kanban again, we will appreciate your help if we would be able to produce working apache config and post it into docs.
Hi there, I build up an ubuntu 14.04 machine with the gitlab packages installed from their ubuntu repositories. I modified the gitlab.rb to run the bundled nginx with ssl certificates. I installed leanlabs kanban from docker on the same machine. Because there is allready a nginx instance running on the machine (the gitlab bundled one), I modified the docker-compse.yml to the following:
#proxy:# image: leanlabs/nginx:1.0.1# volumes:# - "./build/conf.d:/etc/nginx/conf.d"# - "./build/certs:/etc/nginx/certs"# - "./build/sites-enabled:/etc/nginx/sites-enabled"# links:# - kanban:kanban# ports:# - "81:80"kanban: image: leanlabs/kanban:1.4.7 environment: # URL on which Leanlabs Kanban will be reachable - KANBAN_SERVER_HOSTNAME=https://my.kanban.domain # This string is used to generate user auth tokens - KANBAN_SECURITY_SECRET=qwert # Your GitLab host URL - KANBAN_GITLAB_URL=https://my.gitlab.domain # Your GitLab OAuth client ID - KANBAN_GITLAB_CLIENT=qwert # Your GitLab OAuth client secret key - KANBAN_GITLAB_SECRET=qwert # Wheter to enable sign up with user API token - KANBAN_ENABLE_SIGNUP=false # Redis server address - IP:PORT - KANBAN_REDIS_ADDR=redis:6379 links: - redis:redis ports: - "127.0.0.1:81:80" command: ./kanban serverredis: image: leanlabs/redis:1.0.0 volumes: - "/data:/data"
I dropped the nginx proxy from the docker-compose file and made the kanban server listen directly on port 81 of 127.0.0.1
using nginx['custom_nginx_config'] = "include /etc/nginx/kanban.conf;" inside gitlab.rb I have set up a new proxy.
The kanban board gets loaded and authentication with my gitlab account is working quite well, so my config can't be that wrong.
But I still have the same problem with the reloading of the page.
The docker logs is telling me the following important information:
[Macaron] Started GET /ws/ for 172.17.0.1[sockets] [Warning] [172.17.0.1:50446] Handshake failed: websocket: could not find connection header with token 'upgrade'[Macaron] Completed /ws/ 400 Bad Request in 110.405µs
What am I doing wrong? How to run kanban behind SSL from the same machine as the gitlab installation?
I wrote about some small custom scripts and apache virtual host configuration, which avoids the reloading problem, based on the comments so far.
On the link below you can see a small wiki-like article I wrote:
Hi
I've just had a fresh install from binary, using latest GitLab 9.4.2 and Kanban 1.7.1 and I'm still facing this issue.
I'm behind nginx to provide SSL.
Looks like the page reloads right after the websocket receive any response.