This reverts commit d0bc83ca275964fa1de6684c3cdc6714de386efd. Protractor-based prerendering is flakey on Travis and takes several minutes to complete, slowing down the build. Prerendering has a lower impact now that we use a ServiceWorker. We will revisit in the future (probably using a `PlatformServer`-based approach). PR Close #15346
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Redirect all HTTP traffic to HTTPS
 | |
| server {
 | |
|   server_name _;
 | |
| 
 | |
|   listen {{$AIO_NGINX_PORT_HTTP}} default_server;
 | |
|   listen [::]:{{$AIO_NGINX_PORT_HTTP}};
 | |
| 
 | |
|   access_log {{$AIO_NGINX_LOGS_DIR}}/access.log;
 | |
|   error_log  {{$AIO_NGINX_LOGS_DIR}}/error.log;
 | |
| 
 | |
|   # Ideally we want 308 (permanent + keep original method),
 | |
|   # but it is relatively new and not supported by some clients (e.g. cURL).
 | |
|   return 307 https://$host:{{$AIO_NGINX_PORT_HTTPS}}$request_uri;
 | |
| }
 | |
| 
 | |
| # Serve PR-preview requests
 | |
| server {
 | |
|   server_name "~^pr(?<pr>[1-9][0-9]*)-(?<sha>[0-9a-f]{40})\.";
 | |
| 
 | |
|   listen {{$AIO_NGINX_PORT_HTTPS}} ssl;
 | |
|   listen [::]:{{$AIO_NGINX_PORT_HTTPS}} ssl;
 | |
| 
 | |
|   ssl_certificate     {{$AIO_LOCALCERTS_DIR}}/{{$AIO_DOMAIN_NAME}}.crt;
 | |
|   ssl_certificate_key {{$AIO_LOCALCERTS_DIR}}/{{$AIO_DOMAIN_NAME}}.key;
 | |
| 
 | |
|   root             {{$AIO_BUILDS_DIR}}/$pr/$sha;
 | |
|   disable_symlinks on from=$document_root;
 | |
|   index            index.html;
 | |
| 
 | |
|   access_log {{$AIO_NGINX_LOGS_DIR}}/access.log;
 | |
|   error_log  {{$AIO_NGINX_LOGS_DIR}}/error.log;
 | |
| 
 | |
|   location "~/[^/]+\.[^/]+$" {
 | |
|     try_files $uri $uri/ =404;
 | |
|   }
 | |
| 
 | |
|   location / {
 | |
|     try_files $uri $uri/ /index.html =404;
 | |
|   }
 | |
| }
 | |
| 
 | |
| # Handle all other requests
 | |
| server {
 | |
|   server_name _;
 | |
| 
 | |
|   listen {{$AIO_NGINX_PORT_HTTPS}} ssl default_server;
 | |
|   listen [::]:{{$AIO_NGINX_PORT_HTTPS}} ssl;
 | |
| 
 | |
|   ssl_certificate     {{$AIO_LOCALCERTS_DIR}}/{{$AIO_DOMAIN_NAME}}.crt;
 | |
|   ssl_certificate_key {{$AIO_LOCALCERTS_DIR}}/{{$AIO_DOMAIN_NAME}}.key;
 | |
| 
 | |
|   access_log {{$AIO_NGINX_LOGS_DIR}}/access.log;
 | |
|   error_log  {{$AIO_NGINX_LOGS_DIR}}/error.log;
 | |
| 
 | |
|   # Health check
 | |
|   location "~^/health-check/?$" {
 | |
|     add_header Content-Type text/plain;
 | |
|     return 200 '';
 | |
|   }
 | |
| 
 | |
|   # Upload builds
 | |
|   location "~^/create-build/(?<pr>[1-9][0-9]*)/(?<sha>[0-9a-f]{40})/?$" {
 | |
|     if ($request_method != "POST") {
 | |
|       add_header Allow "POST";
 | |
|       return 405;
 | |
|     }
 | |
| 
 | |
|     client_body_temp_path    /tmp/aio-create-builds;
 | |
|     client_body_buffer_size  128K;
 | |
|     client_max_body_size     {{$AIO_UPLOAD_MAX_SIZE}};
 | |
|     client_body_in_file_only on;
 | |
| 
 | |
|     proxy_pass_request_headers on;
 | |
|     proxy_set_header           X-FILE $request_body_file;
 | |
|     proxy_set_body             off;
 | |
|     proxy_redirect             off;
 | |
|     proxy_method               GET;
 | |
|     proxy_pass                 http://{{$AIO_UPLOAD_HOSTNAME}}:{{$AIO_UPLOAD_PORT}}$request_uri;
 | |
| 
 | |
|     resolver 127.0.0.1;
 | |
|   }
 | |
| 
 | |
|   # Everything else
 | |
|   location / {
 | |
|     return 404;
 | |
|   }
 | |
| }
 |