标签: http-basic-authentication

如何在 lighttpd 中为除一个目录之外的所有目录启用 http auth?

我正在尝试验证对 webroot (/ ) 中所有内容的访问权限,除了驻留在特定目录 (/directory/ ) 中的任何内容,我尝试了这两个选项均无济于事:

$HTTP["url"] =~ "^(?!(/directory))" {
    auth.require = ( "" =>
            (
            "method" => "basic",
            "realm" => "auth to this area",
            "require" => "user=username"
            )
    )
}

$HTTP["url"] != "/directory" {
    auth.require = ( "" =>
            (
            "method" => "basic",
            "realm" => "auth to this area",
            "require" => "user=username"
            )
    )
}
Run Code Online (Sandbox Code Playgroud)

lighttpd http-basic-authentication

6
推荐指数
1
解决办法
2916
查看次数

.htaccess - 从基本身份验证保护中排除文件夹

我有一个网站,如果不输入基本身份验证凭据,任何人都不允许进入。

但是,我需要每个人都可以访问媒体文件夹,因为我们正在使用创建 PDF 的第三方扩展,并且只有在媒体可访问时我们才能完全测试它们。

媒体文件夹位于/var/www/company/pub/media

域 ( www.example.com ) 指向/var/www/company/pub,因此pub文件夹是入口点。

这是我的 .htaccess 尝试 ( /var/www/company/.htaccess):

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/pub/
RewriteCond %{REQUEST_URI} !^/setup/
RewriteCond %{REQUEST_URI} !^/update/
RewriteCond %{REQUEST_URI} !^/dev/
RewriteRule .* /pub/$0 [L]
DirectoryIndex index.php

AuthType Basic
AuthName "Protected"
AuthUserFile "/var/www/company/.htpasswd"

# Exclude media folder from basic auth
SetEnvIf Request_URI "^/media/*" media

Order allow,deny
Require valid-user
Allow from env=media
Deny from env=!media
Satisfy any
Run Code Online (Sandbox Code Playgroud)

但如果我尝试调用http://www.example.com/media/someimage.jpg那么我仍然会收到基本的身份验证登录提示。

环境:

阿帕奇 2.4.41 (Ubuntu)

.htaccess http-basic-authentication apache2

6
推荐指数
2
解决办法
6059
查看次数

使用基本身份验证响应 HTTP 选项

我们有一个在 IIS6 基本身份验证后面托管 Office 文档的网站。

IE 具有用于基本身份验证的身份验证令牌,用于下载文件。用户单击“打开”,然后 Microsoft Office 协议发现对提供文件的目录执行 HTTP OPTIONS 请求。但是,Office 没有 IE 具有的身份验证令牌,因此它会再次提示输入凭据。然后点击取消将在 Office 中显示该文件。

由于我们不是类似 Sharepoint 的应用程序,并且我们没有响应 OPTIONS 的方法,因此我想使用 OPTIONS 方法(使用“Microsoft Office Protocol Discovery ") 类似于空的 200,如 RFC 2616所述:

如果没有包含响应正文,则响应必须包含一个字段值为“0”的 Content-Length 字段。

我倾向于使用 200 响应的 ISAPI 过滤器 - 在基本身份验证发生之前。Windows 身份验证或匿名访问不是选项。有没有我缺少的替代品?

http iis-6 microsoft-office http-basic-authentication

5
推荐指数
1
解决办法
5415
查看次数

nginx & HTTP-Authentication 下的服务静态文件

我在服务器上以测试模式部署了一个应用程序。对它的访问仅限于通过 HTTP 身份验证的选定用户组。这很好用。问题是,如果我通过不同的“位置”指令提供静态文件,nginx 会为这些文件提供“未授权”。我尝试关闭 auth_basic,但没有骰子。

这是 vhost conf:

# Virtual Host 

upstream appname {
  server 127.0.0.1:4000;
  server 127.0.0.1:4001;
  server 127.0.0.1:4002;
}

server { 
  listen 80;
  server_name appname.domain.com;

  # write app specific log
  # make sure you create this file in your log directory before running behind nginx
  access_log  /home/apps/appname/shared/log/nginx.log  main;

 # let nginx serve static files directly
  # images
  location ^~/images {
    auth_basic off;
    root /home/apps/appname/current/public/images;

  }

  location ^~/covers {
    auth_basic off;
    root /home/apps/covers;

  }

 # # javascript
 location ^~/javascripts …
Run Code Online (Sandbox Code Playgroud)

configuration nginx authentication http-basic-authentication

5
推荐指数
1
解决办法
1万
查看次数

如何在启动前保护 .NET (MVC) 网站?

我有一个正在开发的 .NET (MVC2) 网站。我已经将它部署到一些生产基础设施,并通过匿名访问在互联网上对其进行了测试(就像它一旦上线一样)并且它工作正常。从现在到上线日期,我想限制对一个小型测试组的访问。

但是,当我关闭匿名访问(我在 Windows 2008 R2 64 位上使用 IIS 7)并启用基本身份验证时,有两件事会出错:首先,它干扰了站点身份验证,并重定向到配置的站点登录页面,其次,由于某种原因样式表停止“工作”。即站点看起来好像没有样式表,即使它们被正确下载(如在 Fiddler/Firebug 中查看的那样。)

我想要的是保护对服务器的访问——我不想使用基本身份验证作为 MVC 网站的身份验证机制——由标准表单身份验证处理。我只是想阻止人们在网站上线之前窥探它。

我以前遇到过这种情况,并且一直在为缺乏简单/明显的“使用密码保护此服务器”功能而苦苦挣扎。

必须有一个简单的答案。(我正在考虑与 .htaccess 文件等效的功能,但对于 IIS)?

[更新] 继我的未遂事件之后(见下面的答案),我想要的是 Windows 身份验证来控制对网站的访问,以及 ASP.NET 身份验证来控制用户与网站的交互(他们的身份,是否出现记录输入/输出等)

iis windows-server-2008 asp.net http-basic-authentication

5
推荐指数
1
解决办法
673
查看次数

在 IIS7 中为 BASIC 身份验证设置用户名/密码的位置

我有一个在 iis7 (windows 2008) 上运行的 .net web 应用程序,并想为其添加一些简单的保护。

我已经设法设置了 BASIC 身份验证,但无法确定在哪里设置允许访问资源的用户名/密码

iis-7 http-basic-authentication

5
推荐指数
1
解决办法
7888
查看次数

如何使用基本身份验证保护在 Apache2 虚拟主机中反向代理的 Tomcat Web 应用程序?

我无法弄清楚如何添加基本的 HTTP 身份验证以密码保护在生产 Web 服务器上运行的开发测试环境。主站点和测试环境都是虚拟主机,它们使用 AJP 代理为 Tomcat Web 应用程序的单独实例提供服务。我们需要防止公众访问测试环境而不更改Tomcat环境中的web.xml,必须使用Apache而不是Tomcat来实现保护。然而,虚拟主机中的 ProxyPass 和 ProxyPassReverse 指令似乎覆盖了 .htaccess 或我放在 <Directory> 控制块中的任何东西的使用,而似乎我不能在 <VirtualHost> 控制的主体中使用像 AuthType 这样的指令挡在旁边。一世' 我对 Apache(或 Tomcat)不是很有经验,不确定哪些指令可以应用于何处以及哪些指令可能会覆盖其他指令。因为需要在生产服务器上进行更改,我不能轻易地进行试验,以免造成任何停机时间。

httpd.conf 本身非常简单:

LoadModule  proxy_http_module   /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule  headers_module      /usr/lib/apache2/modules/mod_headers.so

LoadFile    /usr/lib/libxml2.so
Run Code Online (Sandbox Code Playgroud)

相关虚拟主机文件/etc/apache2/sites-available/dev443如下:

<IfModule mod_ssl.c>
<VirtualHost dev.mydomain.com:80443>
    ServerName  dev.mydomain.com:80443
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/dev

    ProxyPass / ajp://127.0.0.1:8010/
    ProxyPassReverse / ajp://127.0.0.1:8010/

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/dev/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All 
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None …
Run Code Online (Sandbox Code Playgroud)

authentication reverse-proxy virtualhost http-basic-authentication apache-2.2

5
推荐指数
1
解决办法
3656
查看次数

使用 nginx:从公共 IP 请求时需要身份验证,本地时不需要

我编写了一个简单的文件浏览器应用程序,它使用端口 3000 上的节点提供服务。我使用 nginx 作为代理此服务的前端。这是在我的家庭服务器上。

当我通过公共 IP 访问它时,我希望能够要求基本的 HTTP 身份验证,但当我在家时则不需要。我有这个配置:

location /files {
  satisfy any;
  allow 10.1.0.0/24;
  deny all;
  auth_basic "Authentication Required";
  auth_basic_user_file /etc/access_list;
  proxy_pass http://127.0.0.1:3000/;
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。当我在同一个子网上的家庭网络上时,它仍然需要我进行基本的 HTTP 身份验证。我曾认为“允许>拒绝>身份验证”与“满足任何”配对的顺序是正确的。我在这里做错了什么吗?这可能吗?

nginx http-basic-authentication

5
推荐指数
1
解决办法
1903
查看次数

阿帕奇着火了 (AH00025)。怎么修?

我试图让 Apache 2.4.10 执行.htaccess文件中指定的基本身份验证(在 HTTPS 下)。我将一个目录的设置更改为AllowOverride all,它开始只提供普通的 500 页。将该目录恢复到AllowOverride none似乎没有固定的东西。

我在日志中发现的错误似乎都将请求的相对 URL 解释为授权用户名,并发出嘶嘶声:

[Wed Jun 22 20:34:00.565683 2016] [core:crit] [pid 24994] [client ____:51295] AH00025:配置错误:无法检查用户:/writing/icons/rublev_trinity_icon.gif,引用:____

AH00025是什么意思?我发现了一些像https://httpd.apache.org/docs/trunk/upgrading.html这样的页面,但没有明确定义错误代码。

我想要什么 /etc/apache2/mods-enabled/auth* 文件?

http-basic-authentication apache-2.4

5
推荐指数
1
解决办法
4304
查看次数

从为根目录设置的基本身份验证中排除 nagios 目录

我从 Apache 的根目录获得了基本身份验证。我是这样设置的。

/etc/httpd/conf.d/xxxx.conf

 <Location />
    AuthType Basic
    AuthUserFile xxxxxxxx
    AuthName "Restricted Area"
    Require valid-user
  </Location>
Run Code Online (Sandbox Code Playgroud)

由于此设置是在 root 中设置的,因此它会覆盖 Nagios 的基本身份验证,从而使 Nagios 无法运行。我试图通过执行排除 Nagios 目录

  <Location /nagios>
    Allow from all
    Satisfy any
  </Location>
Run Code Online (Sandbox Code Playgroud)

但是由于它主导了 Nagios 设置,因此禁用了身份验证。

仅排除 Nagios 子目录的正确方法是什么?

centos nagios exclude http-basic-authentication apache-2.2

4
推荐指数
1
解决办法
1189
查看次数