Назад | Перейти на главную страницу

Как обеспечить, чтобы в Confluence, работающем в дата-центре Tomcat, могли получить доступ только пользователи с определенного IP-адреса, а другие попали на страницу входа для доступа?

У меня Confluence настроен в центре обработки данных Azure и работает нормально. я хочу убедиться

Теперь, я полагаю, если я добавлю server.xml следующая строка (src:https://confluence.atlassian.com/confkb/how-to-allow-only- sure-ip-addresses-to-have-access-to-confluence-658015747.html)

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,192.168.0.1,192.168.50.*" />

как показано ниже:

<Server port="8000" shutdown="SHUTDOWN" debug="0">
    <Service name="Tomcat-Standalone">
        <Connector
                port="8080"
                connectionTimeout="60000"
                disableUploadTimeout="true"
                maxHttpHeaderSize="16384"
                redirectPort="8443"
                maxThreads="280"
                minSpareThreads="280"
                enableLookups="false"
                acceptCount="10"
                debug="0"
                URIEncoding="UTF-8"
                protocol="org.apache.coyote.http11.Http11NioProtocol"
                proxyName="confluence.mydomain.com.au"
                proxyPort="443"
                scheme="https"
                secure="false"
        />

        <Engine name="ConfluenceDC" defaultHost="localhost" debug="0">

            <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false" startStopThreads="4">
                <Context path="" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true">
                    <Manager pathname=""/>
                    <Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60"/>
                </Context>

                <Context path="/synchrony-proxy" docBase="../synchrony-proxy" debug="0" reloadable="false" useHttpOnly="true">
                    <Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60"/>
                </Context>

                <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,192.168.0.1,192.168.50.*" />

            </Host>
        </Engine>
    </Service>
</Server>

Это, возможно, позволит получить доступ к Confluence по указанным IP-адресам. Но я хочу, чтобы другой IP-адрес попадал на страницу входа для доступа. Как это сделать?

Я не вижу способа настроить это в Tomcat. Вам нужно будет настроить автоматический вход для определенных IP-адресов, но я не думаю, что это то, что вам нужно (все посетители с этих IP-адресов будут, по сути, одним и тем же пользователем).

Может быть, есть надстройка Confluence, которая позволяет вам такие мелкие разрешения, но я не знаю его.

Мой подход заключался бы в том, чтобы просто использовать для этого разрешения Confluence. Поместите все общедоступные страницы в пространство Confluence, которое могут просматривать анонимные пользователи. Поместите все закрытые страницы в пространство, которое будет видно только зарегистрированным пользователям. Это не совсем соответствует тому, о чем вы спрашиваете, но, поскольку мы не знаем, чего вы на самом деле пытаетесь достичь, я упоминаю об этом. Может быть, это поможет и кому-то другому.


Поздняя мысль: у меня работает один экземпляр Confluence, который подходит вам. В этом случае у меня настроена базовая аутентификация в Apache, которая работает как обратный прокси.

Каждый запрос с определенных IP-адресов (в данном случае Zabbix) может напрямую обращаться к Confluence и считается анонимным пользователем. Каждый запрос не с этих IP-адресов должен пройти аутентификацию с помощью базовой аутентификации, прежде чем пользователь сможет получить доступ к Confluence.

Итак, переместив аутентификацию из Confluence на обратный прокси-сервер, вы сможете добиться желаемого.