Примечания
В некоторых случаях вы хотели бы отключить ограничения запросов Cross Cross, потому что он разрешен только для того же происхождения по умолчанию.
В моем случае я имею дело с несколькими API с разными происхождениями.
Код
1) Получить/варианты конечной точки
location / { # Allow some origins #if ($http_origin ~* (https?:\/\/(localhost:8000|myfirstorigin:8000))) { # set $cors "1"; #} # Allow all origins set $cors "1"; # Append CORS headers to any request from allowed CORS domain, except OPTIONS if ($cors = "1") { add_header Access-Control-Allow-Credentials true; add_header Access-Control-Allow-Origin $http_origin; } # OPTIONS (pre-flight) request from allowed CORS domain. return response directly if ($request_method = 'OPTIONS') { add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT, DELETE'; add_header Access-Control-Allow-Credentials true; add_header Access-Control-Allow-Headers 'Origin,Content-Type,Accept'; add_header Content-Length 0; add_header Content-Type text/plain; return 204; } proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_pass https://mysecondorigin/api/; proxy_http_version 1.1; proxy_read_timeout 600s; }
2) Опубликовать конечную точку
add_header Access-Control-Allow-Origin $http_origin;
Оригинал: «https://dev.to/javidjms/quick-handle-cors-with-nginx-3m5»