################################### ## configuration ## ################################### server { listen *:80 default_server; listen *:443 default_server; server_name _; return 403; ssl_certificate /etc/gitlab/ssl/mawb.gitlab.com.crt; ssl_certificate_key /etc/gitlab/ssl/mawb.gitlab.com.key; } server { listen *:80; server_name mawb.gitlab.com; server_tokens off; ## Don't show the nginx version number, a security best practice ## Increase this if you want to upload large attachments ## Or if you want to accept large git objects over http client_max_body_size 0; ## Real IP Module Config ## http://nginx.org/en/docs/http/ngx_http_realip_module.html ## HSTS Config ## https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/ add_header Strict-Transport-Security "max-age=63072000"; # Rails sets a default policy of strict-origin-when-cross-origin, so # hide that and just send the one we've configured for nginx proxy_hide_header Referrer-Policy; add_header Referrer-Policy strict-origin-when-cross-origin; ## Individual nginx logs for this GitLab vhost access_log /var/log/gitlab/nginx/gitlab_access.log gitlab_access; error_log /var/log/gitlab/nginx/gitlab_error.log error; if ($http_host = "") { set $http_host_with_default "mawb.gitlab.com"; } if ($http_host != "") { set $http_host_with_default $http_host; } gzip on; gzip_static on; gzip_comp_level 2; gzip_http_version 1.1; gzip_vary on; gzip_disable "msie6"; gzip_min_length 250; gzip_proxied no-cache no-store private expired auth; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json; ## https://github.com/gitlabhq/gitlabhq/issues/694 ## Some requests take more than 30 seconds. proxy_read_timeout 3600; proxy_connect_timeout 300; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Host $http_host_with_default; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Ssl on; location ~ (/api/v\d/jobs/\d+/artifacts$|\.git/git-receive-pack$|\.git/gitlab-lfs/objects|\.git/info/lfs/objects/batch$) { proxy_cache off; proxy_pass http://gitlab-workhorse; proxy_request_buffering off; } location /-/grafana/ { proxy_pass http://localhost:3000/; } location = /-/kubernetes-agent/ { proxy_pass http://localhost:8150/; } location /-/kubernetes-agent/k8s-proxy/ { proxy_pass http://localhost:8154/; } # health checks configuration include /var/opt/gitlab/nginx/conf/gitlab-health.conf; location / { proxy_cache off; proxy_pass http://gitlab-workhorse; } location /assets { add_header X-Content-Type-Options nosniff; proxy_cache gitlab; proxy_pass http://gitlab-workhorse; } error_page 404 /404.html; error_page 500 /500.html; error_page 502 /502.html; location ~ ^/(404|500|502)(-custom)?\.html$ { root /opt/gitlab/embedded/service/gitlab-rails/public; internal; } }