This repository has been archived by the owner on Aug 10, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathnginx.conf
132 lines (103 loc) · 3.45 KB
/
nginx.conf
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
user nobody nogroup;
worker_processes 1;
error_log /dev/stderr warn;
events {
worker_connections 1024;
}
http {
include mime.types;
log_format main '{'
'"body_bytes_sent":"$body_bytes_sent",'
'"host":"$host",'
'"hostname":"$hostname",'
'"http_forwarded":"$http_forwarded",'
'"http_referer":"$http_referer",'
'"http_user_agent":"$http_user_agent",'
'"http_x_forwarded_for":"$http_x_forwarded_for",'
'"query_string":"$query_string",'
'"remote_addr":"$remote_addr",'
'"remote_user":"$remote_user",'
'"request_method":"$request_method",'
'"request_time":"$request_time",'
'"request":"$request",'
'"scheme":"$scheme",'
'"server_port":"$server_port",'
'"status":"$status",'
'"time_iso8601":"$time_iso8601",'
'"upstream_addr":"$upstream_addr",'
'"upstream_response_time":"$upstream_response_time",'
'"upstream_status":"$upstream_status"'
'}';
access_log /dev/stdout main;
# error_log /dev/stdout debug;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
gzip on;
upstream imagelayers-api {
server imagelayers;
}
upstream badger {
server badger;
}
## health and status check
server {
listen 8080;
location /nginx_status {
stub_status on;
access_log off;
}
}
# used only by clients directly addressing this service
server {
listen 9000;
server_name badge.imagelayers.io;
location / {
access_log /dev/stdout main;
proxy_redirect off;
proxy_set_header Host 'badge.imagelayers.io';
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection 'Keep-Alive';
proxy_pass http://badger/;
}
error_page 404 500 502 503 504 /error.html;
location = /error.html {
root html;
}
}
server {
listen 9000 default_server;
server_name imagelayers.io;
location / {
root /data/dist;
index index.html index.htm;
expires 1h;
add_header Cache-Control "public";
try_files $uri $uri/ /index.html;
}
# forward all requests for /registry to the internal imagelayers-api service
location /registry {
access_log /dev/stdout main;
rewrite /registry/(.*) /registry/$1 break;
proxy_redirect off;
proxy_set_header Host 'imagelayers.io';
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection 'Keep-Alive';
proxy_pass http://imagelayers-api/;
}
# forward all requests for /badge to the internal badge service
location /badge {
access_log /dev/stdout main;
rewrite /badge/(.*) /$1 break;
proxy_redirect off;
proxy_set_header Host 'badge.imagelayers.io';
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection 'Keep-Alive';
proxy_pass http://badger/;
}
error_page 404 500 502 503 504 /error.html;
location = /error.html {
root html;
}
}
}