限制对作为反向代理运行的 Apache 虚拟主机的访问

限制对作为反向代理运行的 Apache 虚拟主机的访问

我使用 Apache 2.4 作为 Jenkins(在端口 8080 上本地运行的 Web 服务)的反向代理。我尝试使用 将此服务的访问限制在内部网络中Require。我的 VirtualHost:

<VirtualHost *:443>
    ServerName jenkins.domain.com
    ServerAdmin  ...

    SSLEngine on
    ...

    <Location />
        <RequireAny>
            Require ip 127.0.0.1
            Require ip ::1
            Require ip 10.8.0
        </RequireAny>
    </Location>

    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.domain.com/
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-Forwarded-Port "443"
</VirtualHost>

不知何故,这导致所有人都无法使用该服务,包括具有受信任 IP(如 10.8.0.1)的客户端。我做错了什么?

答案1

我也使用 Apache 进行反向代理,ProxyPass并没有遇到需要声明指令<Proxy>来限制访问的情况,因为<Location>已经足够了。

您可以尝试注释掉以下部分吗:

<Proxy *> Require all granted </Proxy>

相关内容