Назад | Перейти на главную страницу

Отключение (Apache) базовой аутентификации для запросов OPTIONS

У меня на тестовом сервере включена базовая аутентификация Apache, и она отлично работает:

AuthType Basic
AuthName "testing"
AuthUserFile /home/www/.htpasswd
Require user MyUser

deny from all

Но он также пытается аутентифицировать запросы, отправленные с помощью метода OPTIONS. Это проблема, потому что в спецификации CORS сказано, что вам следует Exclude user credentials - https://www.w3.org/TR/cors/#cross-origin-request-with-preflight-0

Как отключить аутентификацию для запросов, поступающих с методом OPTIONS?

(Аналогично этому для Tomcat: Отключить аутентификацию для запросов OPTIONS в Tomcat )

Возможно, вы можете использовать выражение Apache (Apache 2.4+) только для применения директив HTTP Basic Auth, когда метод запроса не "ПАРАМЕТРЫ".

Например:

<If "%{REQUEST_METHOD} != 'OPTIONS'">
# Authentication directives...
</If>

Ссылка:

https://httpd.apache.org/docs/2.4/expr.html

deny from all

Вам не нужно использовать эту (Apache 2.2) директиву с вашими базовыми директивами Auth.