Обратный прокси-сервер Apache — HTTP-запросы с файлом cookie

У нас есть обратный прокси-сервер Apache, который работает нормально (конфигурация ниже). Теперь нам нужно переслать несколько запросов на другой сервер (server3.domain.com) и проверить наличие файла cookie с именем «LtpaToken» в запросе пользователя. Если файл cookie отсутствует, вернется страница с ошибкой (мы хотим заблокировать анонимные запросы).

Мне нужно переслать http(s)://server.domain.com/jsreports/* на виртуальную машину http(s) сервера JSReport(IP-адрес server3.domain.com) и проверить LtpaToken, если он существует.

Может ли кто-нибудь дать несколько советов, как это можно реализовать? Спасибо!

              SSLEngine on
        SSLProxyEngine On
        SSLProxyVerify none
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off

ServerName server.domain.com
        ServerAlias server.com
        ProxyRequests Off
#   ProxyPreserveHost On
    
<Proxy balancer://my_cluster>
    BalancerMember https://server.domain.com keepalive=on
    BalancerMember https://server2.domain.com keepalive=on  status=+H
    AllowOverride None
    Order allow,deny
    allow from all
    
#   ProxySet lbmethod=byrequests
</Proxy>

 <Location /balancer-manager>
        SetHandler balancer-manager
        Order deny,allow
    Deny from all
        allow from 192.168.1
    allow from 5.5.20
    allow from 10.0.0
</Location>

    ProxyPass /balancer-manager !   
    ProxyPass / balancer://my_cluster/
    ProxyPassReverse / balancer://my_cluster/

1 ответ

Вы можете проверить наличиеLtpaToken=строка вCookieзаголовок и отображает страницу «/forbidden.html», если она не найдена.

      RewriteEngine On
RewriteCond "%{HTTP:Cookie}" "!LtpaToken=" [NC]
RewriteRule ".*" "/forbidden.html" [R,P]

Если вы хотите вернуть ошибку HTTP (403), вы можете заменить последнюю строку на

      RewriteRule ".*" - [F]
Другие вопросы по тегам