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

apache2 не запускается из-за регулярного выражения

Недавно я включил mod_proxy для apache2, и после перезапуска моего сервера после отключения электроэнергии всякий раз, когда я пытался запустить apache2, возникала следующая ошибка:

* Starting web server apache2                                                  
Syntax error on line 39 of /etc/apache2/sites-enabled/000-default:
Regex could not be compiled
Action 'start' failed.
The Apache error log may have more information.

Строка 39 содержит следующее:

 <ProxyMatch *>

Я попытался прочитать файл error.log, но не смог найти никакой информации об этой ошибке.

Apache2 работал (с этими точными настройками) до того, как сервер внезапно выключился. У меня конечно же вопрос: как я могу решить эту проблему?

Согласно документации ProxyMatch Директива принимает в качестве параметра регулярное выражение. * само по себе не является регулярным выражением - * просто означает «предыдущий символ ноль или более раз». Таким образом, регулярное выражение, которое соответствует всему, будет выглядеть так:

<ProxyMatch .*>

Это «любой персонаж» (.) ноль или более раз (*).

Обратите внимание, что Proxy команда использует соответствие в стиле глобуса, поэтому это действительно так:

<Proxy *>

Думаю, вы это имели в виду.

Чтобы получить больше информации