Значение по умолчанию/server-status местоположение, не наследовавшееся в Apache

Ubuntu PreReqs:
sudo apt-get install libgeoip1 libgeo-ip-perl libregexp-common-perl

Сценарий Мной только Для Вас:

#Parses out ip and prints ip followed by country
use strict;
use warnings;

use Regexp::Common qw /net/;
use Geo::IP;

my $gi = Geo::IP->new(GEOIP_STANDARD);

while (<>) {
    #Following matches IPv4 addresses and stores the result in $1
    #The way this is now, it will only do the first IP on each line
    if (/($RE{net}{IPv4})/g) {
        print $1 . ':' . $gi->country_code_by_addr($1);
    }
}

Ввод-вывод:

65.19.146.2
65.19.146.2:US
65.19.146.2
220.248.0.0:CN

Сценарий выгоняет циклы по своему входу, поэтому если сценарий называют foo.pl и является исполняемым файлом, можно просто сделать что-то как cat access.log | foo.pl. Если Вы хотите более точную деталь, посмотрите Гео-:: документы модуля жемчуга IP (и Вы, возможно, должны были бы установить другую базу данных).

1
задан 15 February 2011 в 17:09
2 ответа

Необходимо добавить исключение для прокси — Ваш ProxyPass и ProxyPassMatch директивы должны быть похожими:

ProxyPassMatch ^/(mytomcatappA|mytomcatappB)/(.*) balancer://tomcatCluster/$1/$2
ProxyPass /server-status !
ProxyPass / http://qa-web1/

! вместо целевых средств URL “исключают указанный путь из проксирования”. Директивы должны быть заказаны с самым определенным URL сначала, потому что первая директива соответствия используется.

И помещение ProxyPass и ProxyPassMatch внутри <Proxy> и <ProxyMatch> контейнеры не документируются — не уверенный, должно ли это действительно работать правильно; просто разместите их внутри <VirtualHost>.

2
ответ дан 3 December 2019 в 19:28

Замена:

<Proxy />
    ProxyPass http://qa-web1/
</Proxy>

С:

<ProxyMatch ! "^/server-status">
    ProxyPass http://qa-web1/
</Proxy>
1
ответ дан 3 December 2019 в 19:28

Теги

Похожие вопросы