summaryrefslogtreecommitdiffstats
path: root/cvp/docker/nginx/sites-enabled/default
blob: e2e718ce6052ce5c3588715f52a2fc2c91f9f99b (plain)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# You may add here your
# server {
#	...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

upstream testapi {
    server testapi:8010;
}

upstream cvpapi {
    server cvpapi:8011;
}

server {
	listen 8000 default_server;
	listen [::]:8000 default_server ipv6only=on;

	root /usr/share/nginx/html;
	index index.html index.htm;

	# Make site accessible from http://localhost/
	server_name localhost;

        #location ~* /testapi-ui/.+/\.(js|css|html|json|map|jpg|jpeg|gif|png|swf)$ {
        location ~* /testapi-ui/ {
            #if (-f $request_filename) {
                root /www/static; 
                expires 1d;
                #break;
            #}
        }

        location ~* /logs/.*\.(log|out|yaml|yml|txt|conf|json|sh|)$ {
            root /home/testapi;
            add_header Content-Type text/plain;
        }

        location ~* /logs/.*/results {
            root /home/testapi;
            expires 1d;
            autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;
        }

        location ~* /logs/api {
            root /home/testapi;
            expires 1d;
            autoindex on;
            autoindex_exact_size on;
            autoindex_localtime on;
        }

        location /api/v1/cvp {
            proxy_pass http://cvpapi/api/v1/cvp;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
        }

        location /api/v1/auth {
            proxy_pass http://cvpapi/api/v1/auth;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
        }

        location /api/v1/profile {
            proxy_pass http://cvpapi/api/v1/profile;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
        }

        location /api/v1/test {
            proxy_pass http://cvpapi/api/v1/test;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
        }

        location = /api/v1/results {
            proxy_pass http://testapi/api/v1/results;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
        }

        location ~* /api/v1/results/([a-zA-Z0-9]+) {
            proxy_pass http://cvpapi/api/v1/results/$1;
            proxy_set_header X-Real_IP $remote_addr;
            proxy_set_header Host $host;
        }

        location ~* /api/v1/suts/hardware/([a-zA-Z0-9\-]+) {
            proxy_pass http://cvpapi/api/v1/suts/hardware/$1;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
        }

        location /api/v1/ {
            proxy_pass http://testapi/api/v1/;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
        }

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		#try_files $uri $uri/ =404;
		# Uncomment to enable naxsi on this location
		# include /etc/nginx/naxsi.rules
                root /www/static/testapi-ui;
                expires 1d;
	}

	# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
	#location /RequestDenied {
	#	proxy_pass http://127.0.0.1:8080;    
	#}

	#error_page 404 /404.html;

	# redirect server error pages to the static page /50x.html
	#
	#error_page 500 502 503 504 /50x.html;
	#location = /50x.html {
	#	root /usr/share/nginx/html;
	#}

	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	#
	#location ~ \.php$ {
	#	fastcgi_split_path_info ^(.+\.php)(/.+)$;
	#	# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
	#
	#	# With php5-cgi alone:
	#	fastcgi_pass 127.0.0.1:9000;
	#	# With php5-fpm:
	#	fastcgi_pass unix:/var/run/php5-fpm.sock;
	#	fastcgi_index index.php;
	#	include fastcgi_params;
	#}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	#location ~ /\.ht {
	#	deny all;
	#}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#	listen 8000;
#	listen somename:8080;
#	server_name somename alias another.alias;
#	root html;
#	index index.html index.htm;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}


# HTTPS server
#
#server {
#	listen 443;
#	server_name localhost;
#
#	root html;
#	index index.html index.htm;
#
#	ssl on;
#	ssl_certificate cert.pem;
#	ssl_certificate_key cert.key;
#
#	ssl_session_timeout 5m;
#
#	ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
#	ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
#	ssl_prefer_server_ciphers on;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}