Skip to content

Commit

Permalink
[ru] update Web/HTTP/CORS/Errors/CORSMissingAllowOrigin translation (
Browse files Browse the repository at this point in the history
…#20256)

[ru] update 'Web/HTTP/CORS/Errors/CORSMissingAllowOrigin' translation
  • Loading branch information
leon-win authored May 23, 2024
1 parent 3eca4d0 commit c2c87db
Showing 1 changed file with 26 additions and 18 deletions.
44 changes: 26 additions & 18 deletions files/ru/web/http/cors/errors/corsmissingalloworigin/index.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,54 @@
---
title: "Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»"
slug: Web/HTTP/CORS/Errors/CORSMissingAllowOrigin
l10n:
sourceCommit: 592f6ec42e54981b6573b58ec0343c9aa8cbbda8
---

## [Причина](/ru/docs/)
{{HTTPSidebar}}

```
## Причина

```plain
Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»
```

## [Почему это произошло?](/ru/docs/)
## Почему это произошло?

В ответе на {{Glossary("CORS")}}-запрос отсутствует заголовок {{HTTPHeader("Access-Control-Allow-Origin")}}, используемый для проверки, может ли ресурс быть доступен для контента на текущем домене.
В ответе на {{Glossary("CORS")}}-запрос отсутствует обязательный заголовок {{HTTPHeader("Access-Control-Allow-Origin")}}, используемый для проверки, может ли ресурс быть доступен для контента с текущего домена.

Если у вас есть доступ к серверу, то добавьте домен запрашивающего сайта в список разрешённых доменов, добавив его в значение заголовка `Access-Control-Allow-Origin`.
При наличии доступа к серверу, можно внести домен запрашивающего сайта в список разрешённых, добавив его в значение заголовка `Access-Control-Allow-Origin`.

Например, для предоставления сайту `https://amazing.site` доступа к ресурсам с использованием CORS, заголовок должен выглядеть так:
Например, для предоставления сайту `https://example.com` доступа к ресурсам с использованием CORS, заголовок должен выглядеть так:

```
Access-Control-Allow-Origin: https://amazing.site
```http
Access-Control-Allow-Origin: https://example.com
```

Также вы можете разрешить доступ любому сайту, используя подстановку `*`. Используйте этот способ только для публичных API. В закрытых API `*` не должна использоваться, вместо этого должен быть установлен определённый домен или домены. При этом подстановка работает только для запросов с атрибутом [`crossorigin`](/ru/docs/Web/HTML/Global_attributes#crossorigin) со значением `anonymous`.
Также можно разрешить доступ к сайту для любого другого сайта, используя подстановку `*`. Этот способ подходит только для публичных API. В закрытых API `*` не должна использоваться, вместо этого должен быть установлен конкретный домен или домены. При этом подстановка работает только для запросов с атрибутом [`crossorigin`](/ru/docs/Web/HTML/Attributes/crossorigin) со значением `anonymous`, это предотвращает отправку в запросах учётных данных, таких как файлы cookie.

```
```http
Access-Control-Allow-Origin: *
```

> **Предупреждение:** **Внимание:** Использование \* для доступа к закрытым API — плохая идея по очевидным причинам.
> **Предупреждение:** Использование подстановки `*` для разрешения всем сайтам доступа к закрытым API — плохая идея по очевидным причинам.
Чтобы разрешить любому сайту делать CORS-запросы _без_ использования подстановки `*` (например, для включения авторизационных данных), ваш сервер должен считывать значение заголовка `Origin` из запроса и использовать это значение, чтобы задать `Access-Control-Allow-Origin`, а также выставить заголовок `Vary: Origin`, чтобы обозначить динамическую установку заголовка в зависимости от источника.
Чтобы разрешить любому сайту делать CORS-запросы _без_ использования подстановки `*` (например, для включения авторизационных данных), сервер должен считывать значение заголовка `Origin` из запроса и использовать это значение, чтобы задать `Access-Control-Allow-Origin`, а также уставить заголовок `Vary: Origin`, чтобы обозначить динамическую установку заголовка в зависимости от источника.

Конкретная директива для установки заголовков зависит от вашего сервера. Так в Apache нужно добавить следующую строку в конфигурацию сервера (в соответствующих разделах `<Directory>`, `<Location>`, `<Files>` или `<VirtualHost>`). Конфигурация обычно находится в файле с расширением `.conf` (стандартные названия: `httpd.conf`, `apache.conf`), либо в файле `.htaccess`.
## Примеры для распространенных веб-серверов

```
Header set Access-Control-Allow-Origin 'origin-list'
```
Конкретная директива для установки заголовков зависит от используемого сервера.

В Nginx для установки этого заголовка используется команда:
В **Apache** ([документация](https://httpd.apache.org/docs/2.4/mod/mod_headers.html#header)) нужно добавить следующую строку в конфигурацию сервера (в соответствующих разделах `<Directory>`, `<Location>`, `<Files>` или `<VirtualHost>`). Конфигурация обычно находится в файле с расширением `.conf` (стандартные названия: `httpd.conf`, `apache.conf`), либо в файле `.htaccess`:

```apacheconf
Header set Access-Control-Allow-Origin 'https://example.com'
```
add_header 'Access-Control-Allow-Origin' 'origin-list'

В **Nginx** ([документация](https://nginx.org/ru/docs/http/ngx_http_headers_module.html#add_header)) для установки этого заголовка используется команда:

```nginx
add_header 'Access-Control-Allow-Origin' 'https://example.com' always;
```

## Смотрите также
Expand Down

0 comments on commit c2c87db

Please sign in to comment.