Nginx – How to add Access-Control-Allow-Origin header in NGINX for one specific domain

corsnginx

I have problem with my nginx configuration. I want to add Access-Control-Allow-Origin header in nginx config, for one domain but for both http and https

I tried this configuration, but it doesn't work:

add_header 'Access-Control-Allow-Origin' "https://example.com http://example.com" always;

I get error response from browser:

The 'Access-Control-Allow-Origin' header contains multiple values 'https://example.com http://example.com', but only one is allowed. Have the server send the header with a valid value ?

Best Answer

Use nginx's $scheme variable

$scheme

request scheme, “http” or “https”

add_header 'Access-Control-Allow-Origin' "${scheme}://example.com" always;