【问题标题】:Setting up an Apache Proxy with Authentication使用身份验证设置 Apache 代理
【发布时间】:2010-10-17 23:57:43
【问题描述】:

我需要设置一个带有身份验证的代理来验证连接到互联网的应用程序的行为。

我正在尝试设置带有转发代理和身份验证的 Apache 安装,尽管我已经接近让它工作,但我想知道是否有更好的方法,因为配置相当深奥。

如何将 Apache 配置为以这种方式工作?

是否还有其他已配置好的选项?也许是一些 VM 或其他软件工具,而不是 Apache?

【问题讨论】:

    标签: apache authentication proxy mod-proxy


    【解决方案1】:

    作为记录,这是我设置 apache 以用作具有基本身份验证的转发代理的方式:

    打开 http.conf

    取消注释以下 LoadModule 指令以启用代理功能

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    

    将以下指令添加到 http.conf 以启用身份验证

    ProxyRequests On
    ProxyVia On
    
    <Proxy *>
        Order deny,allow
        Allow from all
        AuthType Basic
        AuthName "Password Required"
        AuthUserFile password.file
        AuthGroupFile group.file
        Require group usergroup
    </Proxy>
    

    使用 htpasswd.exe 实用程序创建一个 password.file。放在Apache根目录

    htpasswd.exe -c password.file username
    

    使用与password.file同级的文本编辑器创建一个group.file,内容如下

    usergroup: username
    

    然后运行apachectl restart 以获取配置更改。

    【讨论】:

    • “Apache 根目录”在哪里?我正在代理位于其他地方的另一个站点...所以没有主目录..您是指 Apache 可执行文件的文件夹吗??
    • 如果您希望多个用户在同一个组中,您如何操作 group.file 来做到这一点?逗号分隔列表?空间分隔?还有什么?
    • 请注意,如果您使用的是 Ubuntu,您可以通过以下命令安装 htpasswd 二进制文件:sudo apt-get install apache2-utils
    • mod_access_compat 提供的 Allow、Deny 和 Order 指令已被弃用,并将在未来的版本中消失。你应该避免使用它们。
    【解决方案2】:

    我使用Squid

    安装它并使用配置文件中的“auth_param”指令使用基本身份验证设置它非常容易。

    您会在 Squid 网站上找到一些 samplesunderstand how it worksall details about the auth_param

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-04
      • 2019-11-06
      • 2016-03-12
      • 2016-10-13
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      相关资源
      最近更新 更多