Commit Graph

165 Commits

Author SHA1 Message Date
Jacob Vosmaer 47b5b44139 Defend against 'Host' header injection
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/17877 .

This change adds 'defense in depth' against 'Host' HTTP header
injection. It affects normal users in the following way. Suppose your
GitLab server has IP address 1.2.3.4 and hostname gitlab.example.com.
Currently, if you enter 1.2.3.4 in your browser, you get redirected to
1.2.3.4/users/sign_in. After this change, you get redirected from
1.2.3.4 to gitlab.example.com/users/sign_in. This is because the
address you typed in the address bar of your browser ('1.2.3.4'),
which gets stored in the 'Host' header, is now being overwritten to
'gitlab.example.com' in NGINX.

In this change we also make NGINX clear the 'X-Forwarded-Host' header
because Ruby on Rails also uses that header the same wayas the 'Host'
header.

We think that for most GitLab servers this is the right behavior, and
if not then administrators can change this behavior themselves at the
NGINX level.
2016-07-12 19:50:20 +02:00
Achilleas Pipinellis f55f628531 Add note about port needed in NGINX config 2016-05-22 19:20:28 -05:00
Achilleas Pipinellis c1af75192d Add NGINX config file for Registry 2016-05-22 14:54:29 -05:00
Achilleas Pipinellis c73bf28143 Replace gitlab-workhorse with GitLab Workhorse where appropriate 2016-04-28 17:36:50 +03:00
Robert Speicher d85f65ef4e Add a branded 503 static error page
[ci skip]

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15398
2016-04-22 16:26:42 -04:00
Achilleas Pipinellis 2165bbc785 Remove deprecated NGINX CI config 2016-04-14 20:31:19 +03:00
Artem Sidorenko fb5c2147a9 Do not serve anything via nginx as we have workhorse
Otherwise this might 'hide' problems
https://github.com/gitlabhq/gitlabhq/issues/10053#issuecomment-188919319
2016-03-11 15:04:04 +01:00
Achilleas Pipinellis 10aa99a30c Merge branch 'doc_relative_url' into 'master'
Add documentation on relative URL support

closes #12773

See merge request !2770
2016-02-10 10:51:18 +00:00
Achilleas Pipinellis b532109b97 Edit configuration files for relative URL support
[ci skip]
2016-02-09 16:59:42 +02:00
Rémy Coutable 555b1a621a Merge branch 'fix-init' into 'master'
Fixed init.d script not working on OS X

-s flag of su doesn't work correctly on OS X, logging in as the user
and not running the requested command. By moving the bash shell init
inside the su command we avoid the issue

Fixes Issue #3309 

See merge request !1728
2016-02-08 17:30:10 +00:00
ritave 1fab3979b1 Fixed init.d script not working on OS X
-s flag of su doesn't work correctly on some systems, loging in the user
and not running the requested command. By moving the bash shell init
inside the su command we avoid the issue
2016-02-08 16:56:07 +01:00
Harald Spaethe 2694513cfe suppress only errors in init-script while determining canonical path of gitlab_workhorse_dir 2016-02-08 14:58:49 +01:00
fbretel 5287da7412 Consistent rails_socket use. 2016-01-25 13:19:27 +00:00
Jacob Vosmaer 693fa7a458 Init script changes for gitlab-workhorse in 8.4 2016-01-21 13:36:55 +01:00
cafuego 9c893af7ad Fix spelling of "it's" to "its" where appropriate. 2015-12-24 15:28:12 +11:00
Jacob Vosmaer 447e598ec4 Update init script options for gitlab-workhorse 2015-12-15 16:24:04 +01:00
Jacob Vosmaer d597a0a21a Pass all requests from NGINX to gitlab-workhorse 2015-12-11 16:42:40 +01:00
Jacob Vosmaer b899436248 Merge pull request #9892 from stetskevych/fix_nginx_ssl_config
Fix gitlab-ssl nginx config to work when multiple server_names are served over https
2015-12-07 14:03:33 +01:00
Vyacheslav Stetskevych 1c4213acd5 Fix gitlab-ssl nginx config to work when multiple server_names are served over https 2015-12-06 03:10:29 +02:00
Stan Hu f1fd4880d9 Check GitLab Workhorse status in init.d script when reporting all components are up and running
Closes https://github.com/gitlabhq/gitlabhq/issues/9869
2015-12-04 07:12:49 -08:00
Robert Speicher f1710073b4 Fix alignment
[ci skip]
2015-11-27 14:39:55 -05:00
Jacob Vosmaer 04049b6b17 Fix indentation in NGINX config 2015-11-27 13:57:53 +01:00
Jacob Vosmaer 295d378e9a Repeat "client_max_body_size 0" everywhere
It turns out that if we do not the declaration from
"location /" wins.
2015-11-27 13:56:26 +01:00
Robert Speicher c8074b6b11 Merge branch 'client-max-body-size' into 'master'
Do not limit workhorse POST/PUT size in NGINX

Limiting, if any, should happen in gitlab-workhorse.

See merge request !1831
2015-11-19 14:41:44 +00:00
Jacob Vosmaer 372dcc217e Do not limit workhorse POST/PUT size in NGINX
Limiting, if any, should happen in gitlab-workhorse.
2015-11-19 13:51:18 +01:00
Drew Blessing cab6efa53f Deploy page should be shown for all pages not just root 2015-11-18 09:53:08 -06:00
Marin Jankovski 14032d8eb1 Add support for git lfs. 2015-11-16 12:39:13 +01:00
Kamil Trzcinski 7e4e3fb3b6 Fix nginx config to use @gitlab-workhorse 2015-11-10 12:51:51 +01:00
Kamil Trzcinski d0e3e823a2 Implement Build Artifacts
- Offloads uploading to GitLab Workhorse
- Use /authorize request for fast uploading
- Added backup recipes for artifacts
- Support download acceleration using X-Sendfile
2015-11-10 12:51:50 +01:00
Jacob Vosmaer c5132e94e1 Switch to gitlab-workhorse 2015-10-29 14:21:24 +01:00
Jacob Vosmaer 033a879cc9 Fix NGINX API download regex
Users are allowed to supply namespace%2Fproject instead of a numeric ID
2015-10-14 11:14:43 +02:00
Jacob Vosmaer cb13980db8 Let gitlab-git-http-server handle archive downloads
This change relies on changes in gitlab_git and gitlab-git-http-server.
2015-10-08 17:12:00 +02:00
Kamil Trzcinski 156ace4778 Add missing rake and change nginx config for CI migration 2015-09-22 09:45:52 +02:00
Kamil Trzcinski 50e5950947 Add missing proxy requests to migration docs 2015-09-16 20:45:58 +02:00
Kamil Trzcinski d3886f9d41 Added migration docs and updated installation documentation 2015-09-16 10:58:33 +02:00
Jacob Vosmaer 783791fd08 The good stuff needs NGINX 1.7.11 2015-09-07 14:59:32 +02:00
Jacob Vosmaer 8d59b1ac45 Do not let NGINX buffer Git HTTP requests
Before this change NGINX would convert a chunked HTTP POST (e.g.
git push) into a HTTP 1.0 single large POST. This creates an
unnecessary delay, and it creates unnecessary memory pressure on
gitlab-git-http-server.

For the response ('proxy_buffering') I am less sure that NGINX 's
buffering behavior is harmful, but it still makes more sense to me
not to interfere with gitlab-git-http-server (and the Golang net/http
server).
2015-09-07 13:05:29 +02:00
Jacob Vosmaer 780bac1026 Be more defensive when running 'kill' 2015-08-31 16:15:41 +02:00
Jacob Vosmaer 4027a26e7b Replace grack with gitlab-git-http-server 2015-08-31 15:30:15 +02:00
Douwe Maan 02e7b00a54 Fix init script for Reply by email 2015-08-25 12:03:58 -07:00
Douwe Maan 9501495aeb Fix init.d script. 2015-08-19 17:43:24 -07:00
Douwe Maan 1202875dff Fix lib/support/init.d/gitlab. 2015-08-19 14:54:30 -07:00
Douwe Maan f3b57ce677 Update init scripts. 2015-08-19 13:58:07 -07:00
Jacob Vosmaer d3305df7aa Experimental support for gitlab-git-http-server
https://gitlab.com/gitlab-org/gitlab-git-http-server

This change introduces the GITLAB_GRACK_AUTH_ONLY environment
variable. When set, Grack requests to GitLab will only respond with
the user's GL_ID (if the request is OK) or an error. This allows
gitlab-git-http-server to use the main GitLab application as an
authentication and authorization backend.

If we like how this works we should drop the GITLAB_GRACK_AUTH_ONLY
variable at some point in the future.
2015-07-28 14:33:19 +02:00
Jacob Vosmaer 83304bf410 Merge pull request #9400 from tuxillo/patch-1
Use whoami instead of $USER
2015-07-20 11:45:34 +02:00
Dmitriy Zaporozhets bcb07929fe Merge branch 'nginx_defaulthost_documentation' into 'master'
Close #178 Nginx conf default_host documentation

This closes #178
We're just making it clear that some nginx installs such as by default on recent Ubuntu's, the /etc/nginx/sites-enabled/default file will conflict the listen line of the gitlab nginx conf's due to the default_server directive.

changed installation.md to identify the issue to a user
added notes to both nginx configs for gitlab and gitlab-ssl
[ci-skip

See merge request !225
2015-06-22 13:22:58 +00:00
Antonio Huete Jimenez e9ef274bb2 Use whoami instead of $USER
- Use whoami instead of relying on the existence of $USER enviroment variable which is not always present
2015-06-19 09:01:35 +02:00
Marin Jankovski 86d35ed3d4 Update SSL ciphers per logjam vulnerability recommendations. 2015-06-15 11:40:00 +02:00
Marin Jankovski df346e9507 Add a note that changing example configuration files requires changing omnibus-gitlab. 2015-06-11 15:11:37 +02:00
Marin Jankovski c4cb563e98 Merge pull request #8730 from drunkard/master
Specify shell while run me as git user
2015-06-02 16:19:31 +02:00