Apache2-使用BasicAuth针对某个位置授权用户,但仅针对本地子网之外的用户

Apache2-使用BasicAuth针对某个位置授权用户,但仅针对本地子网之外的用户,apache,apache2,basic-authentication,apache-config,Apache,Apache2,Basic Authentication,Apache Config,在我的Apache 2配置中,我有一个VirtualHost,看起来像这样: <VirtualHost *:80> ServerName sub.domain.com # username:password sent on to endpoint RequestHeader set Authorization "Basic dXNlcm5hbWU6cGFzc3dvcmQ==" ProxyPass /xyz http://192.168.1.253:8

在我的Apache 2配置中,我有一个VirtualHost,看起来像这样:

<VirtualHost *:80>
  ServerName sub.domain.com

  # username:password sent on to endpoint
  RequestHeader set Authorization "Basic dXNlcm5hbWU6cGFzc3dvcmQ=="

  ProxyPass        /xyz http://192.168.1.253:8080/endpoint
  ProxyPassReverse /xyz http://192.168.1.253:8080/endpoint

  <Location /xyz>
    # This needs to let users through under the following circumstances
    #   * They are in 192.168.1.0/24
    #   * They have a valid user in a htpasswd file

    # So what goes here?
  </Location>
</VirtualHost>
我使用虚拟主机作为另一台服务器的反向代理,我将调用网络上的端点

我试图找出一种配置,允许网络内浏览sub.domain.com的用户自动获得端点服务。但是,应提示网络之外的用户输入凭据

端点需要一个密码,我使用我想要的RequestHeader隐藏了该密码。提示外部用户的密码不同,需要是BasicAuth,从htpasswd文件获取其用户列表

当然,还需要包含AuthUserFile或其他指令

  AuthType basic
  AuthName "yadayadayada"
  AuthUserFile /foo/bar/blah/.htpasswd
</Location>
当然,还需要包含AuthUserFile或其他指令

  AuthType basic
  AuthName "yadayadayada"
  AuthUserFile /foo/bar/blah/.htpasswd
</Location>

您可以创建两个vhost,一个监听外部接口,另一个监听本地接口。身份验证设置将在前者中。

您可以创建两个vhost,一个监听外部接口,另一个监听本地接口。身份验证设置将在前者中。

我认为David已经很好地介绍了Apache2配置,但使用拆分DNS为内部和外部用户提供不同的服务也很常见。您的内部用户实际上没有理由从您的代理发出请求,因为他们表面上可以直接访问端点


在某些情况下,如果您的内部用户连接到您的某个公共IP地址,您实际上可能会导致路由延迟和拥塞。最初,我非常喜欢为两个DNS服务器提供单独的硬件,但最近我改用绑定视图为我的两个用户类提供不同的区域。

我认为David已经很好地介绍了Apache2配置,但使用拆分DNS为内部和外部用户提供不同的服务也很常见。您的内部用户实际上没有理由从您的代理发出请求,因为他们表面上可以直接访问端点


在某些情况下,如果您的内部用户连接到您的某个公共IP地址,您实际上可能会导致路由延迟和拥塞。最初,我非常喜欢为两个DNS服务器提供单独的硬件,但最近我改用绑定视图为我的两个用户类提供不同的区域。

好的,我现在知道你想要什么了。:David的回答是100%正确的,他在编辑回复时发现wifi有问题。好的,我现在知道你想要什么了David的回答是100%正确,他告诉我在编辑回复时wifi出现问题。只有一个绑定IP和一个接口。我需要基于远程地址,只有一个绑定IP和一个接口。我需要将其基于远程地址sub.domain.com解析为内部IP。代理的要点是不必给出主密码,因为端点只支持一个我不想分发的密码。此外,URL的记忆也愚蠢得可笑。负载很小,只有6-7个用户,这样你就可以用David的配置获得金牌了!在内部,sub.domain.com解析为内部IP。代理的要点是不必给出主密码,因为端点只支持一个我不想分发的密码。此外,URL的记忆也愚蠢得可笑。负载很小,只有6-7个用户,这样你就可以用David的配置获得金牌了!隐马尔可夫模型。。。只是一个随机的想法,如果你把Allow指令移到Require指令之前,它会改变什么吗?啊,该死的,我在看到你的评论之前删除了我的评论。我是通过看日志来工作的。它似乎没有考虑我们从本地子网的请求,而是从我们的公共静态IP。我也把它列在了白名单上,现在它似乎工作得很好!多谢了,我也在同一步骤中移动了“允许”,所以可能也是这样。嗯。。。只是一个随机的想法,如果你把Allow指令移到Require指令之前,它会改变什么吗?啊,该死的,我在看到你的评论之前删除了我的评论。我是通过看日志来工作的。它似乎没有考虑我们从本地子网的请求,而是从我们的公共静态IP。我也把它列在了白名单上,现在它似乎工作得很好!多谢了,我也在同一步骤中移动了“允许”,所以可能也是这样。
  AuthType basic
  AuthName "yadayadayada"
  AuthUserFile /foo/bar/blah/.htpasswd
</Location>