Apache-2.4
為 OPTIONS 請求禁用 (Apache) 基本身份驗證
我在測試伺服器上啟用了 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 類似:Disable authentication for OPTIONS requests in Tomcat)
當請求方法不是“OPTIONS”時,您也許可以使用 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)指令與您的基本身份驗證指令一起使用。