nginx.conf 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # This file is managed by gitlab-ctl. Manual changes will be
  2. # erased! To change the contents below, edit /etc/gitlab/gitlab.rb
  3. # and run `sudo gitlab-ctl reconfigure`.
  4. user gitlab-www gitlab-www;
  5. worker_processes 12;
  6. error_log stderr;
  7. pid nginx.pid;
  8. daemon off;
  9. events {
  10. worker_connections 10240;
  11. }
  12. http {
  13. log_format gitlab_access '$remote_addr - $remote_user [$time_local] "$request_method $filtered_request_uri $server_protocol" $status $body_bytes_sent "$filtered_http_referer" "$http_user_agent" $gzip_ratio';
  14. log_format gitlab_mattermost_access '$remote_addr - $remote_user [$time_local] "$request_method $filtered_request_uri $server_protocol" $status $body_bytes_sent "$filtered_http_referer" "$http_user_agent" $gzip_ratio';
  15. hide_server_tokens off;
  16. server_names_hash_bucket_size 64;
  17. sendfile on;
  18. tcp_nopush on;
  19. tcp_nodelay on;
  20. keepalive_timeout 65;
  21. keepalive_time 1h;
  22. gzip on;
  23. gzip_http_version 1.1;
  24. gzip_comp_level 2;
  25. gzip_proxied no-cache no-store private expired auth;
  26. gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
  27. include /opt/gitlab/embedded/conf/mime.types;
  28. proxy_cache_path proxy_cache keys_zone=gitlab:10m max_size=1g levels=1:2;
  29. proxy_cache gitlab;
  30. map $http_upgrade $connection_upgrade {
  31. default upgrade;
  32. '' close;
  33. }
  34. # Remove private_token from the request URI
  35. # In: /foo?private_token=unfiltered&authenticity_token=unfiltered&rss_token=unfiltered&...
  36. # Out: /foo?private_token=[FILTERED]&authenticity_token=unfiltered&rss_token=unfiltered&...
  37. map $request_uri $temp_request_uri_1 {
  38. default $request_uri;
  39. ~(?i)^(?<start>.*)(?<temp>[\?&]private[\-_]token)=[^&]*(?<rest>.*)$ "$start$temp=[FILTERED]$rest";
  40. }
  41. # Remove authenticity_token from the request URI
  42. # In: /foo?private_token=[FILTERED]&authenticity_token=unfiltered&rss_token=unfiltered&...
  43. # Out: /foo?private_token=[FILTERED]&authenticity_token=[FILTERED]&rss_token=unfiltered&...
  44. map $temp_request_uri_1 $temp_request_uri_2 {
  45. default $temp_request_uri_1;
  46. ~(?i)^(?<start>.*)(?<temp>[\?&]authenticity[\-_]token)=[^&]*(?<rest>.*)$ "$start$temp=[FILTERED]$rest";
  47. }
  48. # Remove rss_token from the request URI
  49. # In: /foo?private_token=[FILTERED]&authenticity_token=[FILTERED]&rss_token=unfiltered&...
  50. # Out: /foo?private_token=[FILTERED]&authenticity_token=[FILTERED]&rss_token=[FILTERED]&...
  51. map $temp_request_uri_2 $filtered_request_uri {
  52. default $temp_request_uri_2;
  53. ~(?i)^(?<start>.*)(?<temp>[\?&]rss[\-_]token)=[^&]*(?<rest>.*)$ "$start$temp=[FILTERED]$rest";
  54. }
  55. # A version of the referer without the query string
  56. map $http_referer $filtered_http_referer {
  57. default $http_referer;
  58. ~^(?<temp>.*)\? $temp;
  59. }
  60. # Enable vts status module.
  61. vhost_traffic_status_zone;
  62. upstream gitlab-workhorse {
  63. server unix:/var/opt/gitlab/gitlab-workhorse/sockets/socket;
  64. }
  65. include /var/opt/gitlab/nginx/conf/gitlab-http.conf;
  66. include /var/opt/gitlab/nginx/conf/nginx-status.conf;
  67. }