Подстановочные знаки в Виртуальных Хостах с динамическими журналами?

Мы столкнулись с подобными проблемами прежде, и это обычно происходит из-за шлюзов прикладного уровня на брандмауэре или устройствах IPSec. Эти ALGs помогают трафику (как SIP или FTP), что динамические порты использования в соединении через устройства NAT, и они могут также проверить, что трафик соответствует спецификациям протокола.

По моему опыту, если Вы не делаете NAT по VPN (и похоже, что Вы не), пытаются отключить ALG's на Вашем firewall/IPSec устройстве.

0
задан 29 September 2009 в 19:13
3 ответа

Вы могли, вероятно, решить псевдоним с правилом mod_rewrite:

# get the server name from the Host: header
UseCanonicalName Off

# remove www.
RewriteCond %{HTTP_HOST} ^www\.(.*)$ 
RewriteRule .? - [E=noWWWHost:%1]

# map /dev  to the documentroot for dev
RewriteCond %{REQUEST_URI} !^/~
RewriteCond %{HTTP_HOST} ^www\. 
RewriteRule ^/dev/(.*)$ /home/${lowercase:%{ENV:noWWWHost}}/dev/$1


# not using www
RewriteCond %{REQUEST_URI} !^/~
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^/dev/(.*)$ /home/${lowercase:%{HTTP_HOST}}/dev/$1


# make a log that is "splitable" on host
LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon

Править: Забыл добавлять, что конфигурация выше не тестируется :)

1
ответ дан 23 November 2019 в 13:29

Существует несколько способов пойти об этом... можно создать виртуальный хост со связанным файлом журнала для каждого хоста. Если Вы ищете подстановочный знак, соответствующий ему, может быть легче только проанализировать журналы позже с данным именем хоста.

0
ответ дан 23 November 2019 в 13:29
  • 1
    Что относительно Псевдонима? Я знаю, что существует VirtualScriptAlias, но я don' t видят любой эквивалентный Псевдоним. –  Stephen Belanger 29 September 2009 в 19:17

Можно использовать mod_vhost_alias и измените формат журнала путем добавления %V (Эффективное имя сервера) в начале строки.

Затем просто необходимо записать простой сценарий оболочки или программу жемчуга, которая проанализирует необработанный журнал и запишет это в соответствующий файл журнала. Можно даже сделать это в режиме реального времени использование переданного по каналу журнала: CustomLog "|/path/to/script.pl" combined_vhost

0
ответ дан 23 November 2019 в 13:29

Теги

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