当 HTTP 方法是 Apache .htaccess 上的 OPTIONS 时,如何避免请求基本身份验证?

Posted

技术标签:

【中文标题】当 HTTP 方法是 Apache .htaccess 上的 OPTIONS 时,如何避免请求基本身份验证?【英文标题】:How I can avoid requesting Basic Authentication when HTTP method is OPTIONS on Apache .htaccess? 【发布时间】:2014-06-30 08:22:55 【问题描述】:

我在一个站点中使用 HTTP 基本身份验证(用户名和密码),包括托管在 Apache 中的 API 端点,我在 .htaccess 上做这样的事情:

AuthType Basic 
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen

由于我在另一个域上托管的页面中从浏览器端使用 API(CORS 部分已经解决),我需要允许某些未经身份验证的请求。这些请求是方法是“OPTIONS”的请求,(预检在这里解释:http://www.w3.org/TR/cors/#resource-preflight-requests), 拜托,我不需要有关 ajax 或浏览器上任何其他东西的任何信息,我需要知道如何在 apache 上执行此操作

提前致谢

【问题讨论】:

【参考方案1】:

您可以在此处使用mod_setenvif

SetEnvIfNoCase Request_Method OPTIONS allowed

AuthType Basic 
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
Order deny,allow
Deny from all
Allow from env=allowed
Satisfy any

【讨论】:

谢谢,我错过了:Order deny,allow Deny from all Allow from env=allowed Satisfy any 让预检正常运行

以上是关于当 HTTP 方法是 Apache .htaccess 上的 OPTIONS 时,如何避免请求基本身份验证?的主要内容,如果未能解决你的问题,请参考以下文章

Apache 2.4 和 php-fpm 不会为 php 页面触发 apache http 基本身份验证

当 HTTP 方法是 Apache .htaccess 上的 OPTIONS 时,如何避免请求基本身份验证?

Apache2 WWW 使用 .htaccess 删除 FAIL

Apache-密码保护目录

.htaccess是什么

如何在apache中重写url