Apache настройка прокси-сервера для доступа к конечным точкам, использующим другой механизм аутентификации https - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь настроить прокси-сервер пересылки для доступа к разным конечным точкам, каждая из которых имеет свой механизм аутентификации https.

Я хочу настроить виртуальный хост apache для доступа к 2 различным конечным точкам, одна конечная точка требуется https с аутентификацией сертификата клиента, а для другого требуется https с аутентификацией basi c в заголовке.

Для конечной точки (https://api/someapi1: 11777 / ) с использованием https с сертификатом клиента, я есть что-то ниже конфигурации для виртуального хоста, однако я не уверен, что мы можем настроить один виртуальный хост, чтобы иметь другую конечную точку (https://api/someapi2: 11999 ), к которой будет обращаться через https с базой c аутентификация в заголовке.

Возможно ли это с использованием одного виртуального хоста прямого прокси-сервера, который прослушивает один и тот же порт. Например. 7077. Как настроить виртуальный хост для доступа к обоим конечным точкам, использующим разные механизмы аутентификации https?

<VirtualHost *:7077>
    ServerAdmin me@mydomain.com
    ServerName dev.mydomain.com

    ProxyPreserveHost On
    ProxyRequests On


        Include conf/shared/httpd-ssl.conf

        SSLCertificateFile       /path/to/cert/file
        SSLCertificateKeyFile    /path/to/key/file
        SSLCACertificateFile     /path/to/ca/cert/file


## SSL Config START
        SSLProxyEngine on
        SSLProxyVerify optional
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerExpire off
        SSLProxyVerifyDepth 3

        SSLProxyMachineCertificateFile          /path/to/clientcert/
        SSLProxyCACertificateFile               /path/to/clientcertca/



## https endpoint with client certificate
    ProxyPass /api/someapi1  https://api/someapi1:11777/
    ProxyPassReverse /api/someapi1  https://api/someapi1:11777/


## https endpoint with basic authentication in header

    ProxyPass /api/someapi2   https://api/someapi2:11999/
    ProxyPassReverse /api/someapi2   https://api/someapi2:11999/

</VirtualHost>
...