1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
error_log stderr;
events {
#use kqueue;
worker_connections 512;
}
http {
# Load mime types and configure maximum size of the types hash tables.
include ../test_utils/nginx/conf/fastcgi.conf;
include ../test_utils/nginx/conf/uwsgi_params;
default_type application/octet-stream;
# optimisation
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
proxy_redirect off;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
proxy_http_version 1.1;
# don't let clients close the keep-alive connection to upstream. See the nginx blog for details:
# https://www.nginx.com/blog/avoiding-top-10-nginx-configuration-mistakes/#no-keepalives
proxy_set_header "Connection" "";
server {
listen 127.0.0.1:9001 ;
server_name localhost ;
http2 on;
root ../;
location / {
#fastcgi_param CGIT_CONFIG "/nix/store/jn11qwy9fccfv28fj44i68qj5qwp4m0y-cgitrc";
fastcgi_param CONTENT_LENGTH "$content_length";
fastcgi_param CONTENT_TYPE "$content_type";
fastcgi_param DOCUMENT_ROOT "$document_root";
fastcgi_param DOCUMENT_URI "$document_uri";
fastcgi_param GATEWAY_INTERFACE "CGI/1.1";
fastcgi_param HTTPS "$https if_not_empty";
fastcgi_param HTTP_HOST "$server_name";
fastcgi_param QUERY_STRING "$args";
fastcgi_param REDIRECT_STATUS "200";
fastcgi_param REMOTE_ADDR "$remote_addr";
fastcgi_param REMOTE_PORT "$remote_port";
fastcgi_param REQUEST_METHOD "$request_method";
fastcgi_param REQUEST_SCHEME "$scheme";
fastcgi_param REQUEST_URI "$request_uri";
fastcgi_param SCRIPT_FILENAME "./cgit";
fastcgi_param SCRIPT_NAME "$fastcgi_script_name";
fastcgi_param SERVER_ADDR "$server_addr";
fastcgi_param SERVER_NAME "$server_name";
fastcgi_param SERVER_PORT "$server_port";
fastcgi_param SERVER_PROTOCOL "$server_protocol";
fastcgi_param SERVER_SOFTWARE "nginx/$nginx_version";
fastcgi_param PATH_INFO $uri;
fastcgi_pass unix:test_utils/fcgiwrap.sock;
}
#location = /cgit.css {
# alias ./cgit.css;
#}
#location = /cgit.png {
# alias ./cgit.png;
#}
#location = /favicon.ico {
# alias ./favicon.ico;
#}
#location = /robots.txt {
# alias ./robots.txt;
#}
location ~ /.+/(info/refs|git-upload-pack) {
fastcgi_param CONTENT_LENGTH "$content_length";
fastcgi_param CONTENT_TYPE "$content_type";
fastcgi_param DOCUMENT_ROOT "$document_root";
fastcgi_param DOCUMENT_URI "$document_uri";
fastcgi_param GATEWAY_INTERFACE "CGI/1.1";
fastcgi_param GIT_HTTP_EXPORT_ALL "1";
fastcgi_param GIT_PROJECT_ROOT "/data/git";
fastcgi_param HOME "/data/git";
fastcgi_param HTTPS "$https if_not_empty";
fastcgi_param QUERY_STRING "$query_string";
fastcgi_param REDIRECT_STATUS "200";
fastcgi_param REMOTE_ADDR "$remote_addr";
fastcgi_param REMOTE_PORT "$remote_port";
fastcgi_param REQUEST_METHOD "$request_method";
fastcgi_param REQUEST_SCHEME "$scheme";
fastcgi_param REQUEST_URI "$request_uri";
fastcgi_param SCRIPT_FILENAME "./test_utils/git/libexec/git-core/git-http-backend";
fastcgi_param SCRIPT_NAME "$fastcgi_script_name";
fastcgi_param SERVER_ADDR "$server_addr";
fastcgi_param SERVER_NAME "$server_name";
fastcgi_param SERVER_PORT "$server_port";
fastcgi_param SERVER_PROTOCOL "$server_protocol";
fastcgi_param SERVER_SOFTWARE "nginx/$nginx_version";
fastcgi_param PATH_INFO $uri;
fastcgi_pass unix:/run/fcgiwrap-cgit-main.sock;
}
autoindex on;
more_set_headers 'Access-Control-Allow-Origin: *';
more_set_headers 'Access-Control-Allow-Methods: GET, POST, OPTIONS';
more_set_headers 'Access-Control-Allow-Headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
more_set_headers 'Access-Control-Expose-Headers: Content-Length,Content-Range';
more_set_headers 'Access-Control-Allow-Credentials: true';
}
disable_symlinks off;
log_format combined_vhosts '$remote_addr - $remote_user [$time_local] {host="$host",server_name="$server_name",upstream=$upstream_addr,t=$request_time[u_conn=$upstream_connect_time,u_hdr=$upstream_header_time,u_resp=$upstream_response_time]} "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
access_log nginx-access.log combined_vhosts;
}
pid nginx.pid;
error_log nginx-error.log;
daemon off;
master_process off;
|