У меня на тестовом сервере включена базовая аутентификация 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.