Skip to content

Commit 05e9be6

Browse files
committed
Improve debugging
Show debug headers even if CORS is disabled and request returns 4xx. Makes it much easier to debug when credentials are enabled.
1 parent 6b319dc commit 05e9be6

File tree

1 file changed

+51
-32
lines changed

1 file changed

+51
-32
lines changed

cors.conf

+51-32
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@
99
# $cors_verbose - "true" or "false" (optional, default: false)
1010
# $cors_debug - "true" or "false" (optional, default: false)
1111

12+
1213
set $cors_preflight 'false';
1314
set $cors_vary_default 'Origin';
1415
set $cors_allow_origin $http_origin;
1516
set $cors_allow_methods_default 'OPTIONS, GET, POST';
1617
set $cors_allow_headers_default 'DNT, Authorization, Origin, X-Requested-With, X-Host, X-Request-Id, Timing-Allow-Origin, Content-Type, Accept, Content-Range, Range, Keep-Alive, User-Agent, If-Modified-Since, Cache-Control, Content-Type';
1718
set $cors_allow_expose_headers_default 'Content-Disposition';
1819

20+
uninitialized_variable_warn off;
21+
1922
# Default: methods
2023
if ($cors_allow_methods = '') {
2124
set $cors_allow_methods $cors_allow_methods_default;
@@ -143,39 +146,55 @@ add_header Vary $cors_vary_value always;
143146

144147
# Debug
145148
if ($cors_debug = 'true') {
146-
add_header X-CORS-Debug-Enabled $cors_enabled;
147-
add_header X-CORS-Debug-Preflight $cors_preflight;
148-
add_header X-CORS-Debug-Service $cors_service;
149-
add_header X-CORS-Debug-Client $cors_client;
150-
add_header X-CORS-Debug-Path $cors_path;
151-
add_header X-CORS-Debug-Http-Origin $http_origin;
152-
add_header X-CORS-Debug-Request "$scheme://$host$request_uri";
153-
add_header X-CORS-Debug-Request-Method $request_method;
154-
155-
add_header X-CORS-Debug-Var-Origin $cors_allow_origin;
156-
add_header X-CORS-Debug-Var-Methods $cors_allow_methods;
157-
add_header X-CORS-Debug-Var-Headers $cors_allow_headers;
158-
add_header X-CORS-Debug-Var-Credentials $cors_allow_credentials;
159-
add_header X-CORS-Debug-Var-Headers $cors_allow_expose_headers;
160-
add_header X-CORS-Debug-Var-Max-Age $cors_max_age;
161-
add_header X-CORS-Debug-Var-Vary $cors_vary;
162-
163-
add_header X-CORS-Debug-Hr "---------------------------";
164-
165-
add_header X-CORS-Debug-Access-Control-Allow-Origin $cors_allow_origin_value;
166-
add_header X-CORS-Debug-Access-Control-Allow-Methods $cors_allow_methods_value;
167-
add_header X-CORS-Debug-Access-Control-Allow-Headers $cors_allow_headers_value;
168-
add_header X-CORS-Debug-Access-Control-Allow-Credentials $cors_allow_credentials_value;
169-
add_header X-CORS-Debug-Access-Control-Expose-Headers $cors_allow_expose_headers_value;
170-
add_header X-CORS-Debug-Access-Control-Max-Age $cors_max_age_value;
171-
add_header X-CORS-Debug-Vary $cors_vary;
172-
173-
add_header X-CORS-Debug-Hr "---------------------------";
174-
175-
return 204;
176-
}
149+
set $cors_debug_enabled $cors_enabled;
150+
set $cors_debug_preflight $cors_preflight;
151+
set $cors_debug_service $cors_service;
152+
set $cors_debug_client $cors_client;
153+
set $cors_debug_path $cors_path;
154+
set $cors_debug_http_origin $http_origin;
155+
set $cors_debug_request "$scheme://$host$request_uri";
156+
set $cors_debug_request_method $request_method;
157+
set $cors_debug_allow_origin $cors_allow_origin;
158+
set $cors_debug_allow_methods $cors_allow_methods;
159+
set $cors_debug_allow_headers $cors_allow_headers;
160+
set $cors_debug_allow_credentials $cors_allow_credentials;
161+
set $cors_debug_allow_expose_headers $cors_allow_expose_headers;
162+
set $cors_debug_max_age $cors_max_age;
163+
set $cors_debug_vary $cors_vary;
164+
165+
set $cors_debug_allow_origin_value $cors_allow_origin_value;
166+
set $cors_debug_allow_methods_value $cors_allow_methods_value;
167+
set $cors_debug_allow_headers_value $cors_allow_headers_value;
168+
set $cors_debug_allow_credentials_value $cors_allow_credentials_value;
169+
set $cors_debug_allow_expose_headers_value $cors_allow_expose_headers_value;
170+
set $cors_debug_max_age_value $cors_max_age_value;
171+
}
172+
173+
add_header X-CORS-Debug-Enabled $cors_debug_enabled always;
174+
add_header X-CORS-Debug-Preflight $cors_debug_preflight always;
175+
add_header X-CORS-Debug-Service $cors_debug_service always;
176+
add_header X-CORS-Debug-Client $cors_debug_client always;
177+
add_header X-CORS-Debug-Path $cors_debug_path always;
178+
add_header X-CORS-Debug-Http-Origin $cors_debug_http_origin always;
179+
add_header X-CORS-Debug-Request $cors_debug_request always;
180+
add_header X-CORS-Debug-Request-Method $cors_debug_request_method always;
181+
182+
add_header X-CORS-Debug-Var-Origin $cors_debug_allow_origin always;
183+
add_header X-CORS-Debug-Var-Methods $cors_debug_allow_methods always;
184+
add_header X-CORS-Debug-Var-Headers $cors_debug_allow_headers always;
185+
add_header X-CORS-Debug-Var-Credentials $cors_debug_allow_credentials always;
186+
add_header X-CORS-Debug-Var-Headers $cors_debug_allow_expose_headers always;
187+
add_header X-CORS-Debug-Var-Max-Age $cors_debug_max_age always;
188+
add_header X-CORS-Debug-Var-Vary $cors_debug_vary always;
189+
190+
add_header X-CORS-Debug-Access-Control-Allow-Origin $cors_debug_allow_origin_value always;
191+
add_header X-CORS-Debug-Access-Control-Allow-Methods $cors_debug_allow_methods_value always;
192+
add_header X-CORS-Debug-Access-Control-Allow-Headers $cors_debug_allow_headers_value always;
193+
add_header X-CORS-Debug-Access-Control-Allow-Credentials $cors_debug_allow_credentials_value always;
194+
add_header X-CORS-Debug-Access-Control-Expose-Headers $cors_debug_allow_expose_headers_value always;
195+
add_header X-CORS-Debug-Access-Control-Max-Age $cors_debug_max_age_value always;
177196

178197
# Preflight
179198
if ($cors_preflight = 'true') {
180-
return 204;
199+
return 204;
181200
}

0 commit comments

Comments
 (0)