标签: mod-auth

RequireAny apache2 错误

我正在尝试使用 RequireAny 来允许从某个 IP 或某个用户​​名访问站点。但是,当我尝试运行 apache 时,出现以下错误:

Invalid command '<RequireAny', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
Run Code Online (Sandbox Code Playgroud)

我的带有身份验证的 apache 文件部分如下所示:

<Directory /var/www/web/>
    Options Indexes FollowSymLinks

    AllowOverride AuthConfig FileInfo Options
    AcceptPathInfo On
    AuthName "Protected Site"
    AuthType Basic
    AuthBasicProvider file
    AuthUserFile /etc/apache2/.htpasswd

    <RequireAny>
            Require user dev
            Require ip 71.198.111.188
    </RequireAny>

        #Order allow,deny
        #allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

为什么在这种情况下使用 RequireAny 时会出现错误?

mod-auth apache-2.2

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

使用客户端 SSL 证书或基本身份验证进行身份验证

出于安全原因,应将 Web 应用程序的身份验证迁移到 SSL 客户端证书。应该可以使用用户名/密码或 SSL 登录。此外,应允许来自内网的用户无需额外身份验证即可使用该应用程序。

我们尝试根据官方文档实现这个场景,但是没有成功。

这是我们当前的配置

<Directory /opt/app/system/html>
    RedirectMatch permanent ^/$ /exec/login.pl
    Options -Indexes +FollowSymLinks
    SSLVerifyClient optional
    SSLVerifyDepth  2
    SSLRequire      %{SSL_CLIENT_I_DN_O} eq "Company_O"
    SSLOptions      +FakeBasicAuth

    Satisfy     any

    AuthType Basic
    AuthName "Zugriffsschutz"
    AuthBasicProvider file
    AuthUserFile /etc/apache2/htaccess/iapp.passwd
    require valid-user

    Order allow,deny
    Allow from 10.20.0.0/255.255.0.0
    Allow from 10.144.100
</Directory>
Run Code Online (Sandbox Code Playgroud)

使用此配置,甚至不需要客户端证书。如果我们删除基本身份验证配置,则 SSL 客户端身份验证运行良好。

mod-ssl mod-auth apache-2.4

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

(8)exec格式错误:通过apache访问文件时exec of '/usr/local/download/abc.zip'

我在 Linux 服务器上的 Apache 安装中配置了mod-auth-token
我已经将它配置为在从服务器下载时启用访问文件的安全性。(根据其网站上给出的)。

阿帕奇配置:

ScriptAlias /downloads/ /usr/local/download/
<Location /downloads/>
  AuthTokenSecret       "SECURESTR"
  AuthTokenPrefix       /downloads/
  AuthTokenTimeout      86400
</Location>
Run Code Online (Sandbox Code Playgroud)

我已经通过简单的java程序生成了用于从服务器下载文件的URL(与此处给出的示例相同)。
我有以下 URL 来访问文件
http://download.mysite.com/downloads/9fa653c32af806ba6f43d1a1fb73bfd0/5370c3b3/abc.zip

文件abc.zip位于/usr/local/download/文件夹。

当我尝试访问/下载此文件时,出现以下异常

[Tue May 13 02:07:28 2014] [error] (8)Exec format error: exec of '/usr/local/download/abc.zip' failed
[Tue May 13 02:07:28 2014] [error] Premature end of script headers: abc.zip  
Run Code Online (Sandbox Code Playgroud)

我不知道是什么问题。有人知道如何解决这个问题吗?

linux mod-auth apache-2.2

2
推荐指数
1
解决办法
3078
查看次数

Apache 2.4:仅允许访问 ip 地址范围的目录

我希望/htdocs/reserved/仅允许从 192.168.1.193 到 192.168.1.254 (.193 --> .254) 的 IP 地址访问目录。

我已经在以下代码中编写了此代码httpd.conf

<Directory /htdocs/reserved/>
    Order Deny, Allow
    Deny from all
    Allow from 192.168.1.193/254
</Directory>
Run Code Online (Sandbox Code Playgroud)

停止后,Apache 不会重新启动并引发此异常:

名为 Apache 的服务报如下错误:指定的网络掩码无效。

问题似乎是面具192.168.1.193/254

我也试过:

<Directory /htdocs/reserved/>
    Order Deny, Allow
    Deny from all
    Allow from 192.168.1.193 192.168.1.254
</Directory>
Run Code Online (Sandbox Code Playgroud)

有用!apache 启动,但我不确定是否允许范围内的所有 IP 地址访问目录,或者只允许 192.168.1.193 和 192.168.1.254。

官方文档缺乏明确的信息(或者我太愚蠢而无法理解)。

问题是:允许 IP 地址范围在目录中访问的正确方法是什么?

旁注:我只使用了私人范围作为例子。

非常感谢并为我的英语感到抱歉。

mod-auth mod-authz-host apache-2.2 apache-2.4

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

Apache 2.4 对 CGI 脚本回复“403 Forbidden”,我的配置看起来没问题

我在 Ubuntu 服务器 14.04 上全新安装的 Apache 2.4 上安装了 CGI 脚本。如果对我来说配置文件没问题,Apache也会继续回复403 Forbidden。CGI 是 Monitorix 前端,一个用 Perl 编写的系统监控工具。

配置文件/etc/apache2/conf-enabled/monitorix.conf是:

Alias /monitorix /var/lib/monitorix/www
ScriptAlias /monitorix-cgi /var/lib/monitorix/www/cgi

<Directory /var/lib/monitorix/www/cgi/>
        DirectoryIndex monitorix.cgi
        Options ExecCGI
        <IfModule mod_authz_core.c>
                # Apache 2.4
                Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
                # Apache 2.2
                Order deny,allow
                Allow from all
        </IfModule>
</Directory>
Run Code Online (Sandbox Code Playgroud)

在所有文件/var/lib/monitorix/www/var/lib/monitorix/www/cgi对所有至少读取权限。每次我尝试从 URL 访问时/monitorix,在我的 Apache 日志中我都会看到以下几行:

[Mon Sep 01 06:57:52.995680 2014] [authz_core:error] [pid 17145] [client x.x.x.x:58879] AH01630: client …
Run Code Online (Sandbox Code Playgroud)

perl cgi mod-auth apache-2.4

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

标签 统计

mod-auth ×5

apache-2.2 ×3

apache-2.4 ×3

cgi ×1

linux ×1

mod-authz-host ×1

mod-ssl ×1

perl ×1