Skip to content

Commit 061f0d6

Browse files
authored
Fix CORS config (#1649)
1 parent cea030e commit 061f0d6

File tree

1 file changed

+30
-9
lines changed

1 file changed

+30
-9
lines changed

pkg/workloads/cortex/serve/nginx.conf.j2

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,38 @@ http {
8383
}
8484

8585
location ~ ^/(predict/?|)$ {
86-
limit_conn inflights {{ CORTEX_MAX_REPLICA_CONCURRENCY | int }};
86+
# CORS (inspired by https://enable-cors.org/server_nginx.html)
87+
if ($request_method = 'OPTIONS') {
88+
add_header 'Access-Control-Allow-Origin' '*';
89+
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
90+
add_header 'Access-Control-Allow-Headers' '*';
91+
add_header 'Access-Control-Allow-Credentials' 'true';
92+
add_header 'Access-Control-Max-Age' 1728000;
93+
add_header 'Content-Type' 'text/plain; charset=utf-8';
94+
add_header 'Content-Length' 0;
95+
return 204;
96+
}
97+
if ($request_method = 'POST') {
98+
add_header 'Access-Control-Allow-Origin' '*';
99+
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
100+
add_header 'Access-Control-Allow-Headers' '*';
101+
add_header 'Access-Control-Allow-Credentials' 'true';
102+
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
103+
}
104+
if ($request_method = 'GET') {
105+
add_header 'Access-Control-Allow-Origin' '*';
106+
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
107+
add_header 'Access-Control-Allow-Headers' '*';
108+
add_header 'Access-Control-Allow-Credentials' 'true';
109+
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
110+
}
87111

88-
add_header Access-Control-Allow-Origin "*";
89-
add_header Access-Control-Allow-Headers "*";
90-
add_header Access-Control-Allow-Methods "GET, POST";
91-
add_header Access-Control-Allow-Credentials "true";
112+
limit_conn inflights {{ CORTEX_MAX_REPLICA_CONCURRENCY | int }};
92113

93-
proxy_set_header HOST $host;
94-
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
95-
proxy_set_header X-Real-IP $remote_addr;
96-
proxy_set_header X-Forwarded-Proto $scheme;
114+
proxy_set_header 'HOST' $host;
115+
proxy_set_header 'X-Forwarded-For' $proxy_add_x_forwarded_for;
116+
proxy_set_header 'X-Real-IP' $remote_addr;
117+
proxy_set_header 'X-Forwarded-Proto' $scheme;
97118

98119
proxy_redirect off;
99120
proxy_buffering off;

0 commit comments

Comments
 (0)