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

Как создать фиктивный виртуальный хост в Apache, чтобы избежать отравления кеша

Чтобы избежать отравления кеша, меня попросили создать фиктивный виртуальный хост на моем веб-сервере Apache, чтобы все поддельные запросы (которые на самом деле не связаны с моим приложением) отправлялись на фиктивный виртуальный хост.

Ниже мой текущий виртуальный хост:

<VirtualHost *:*>
   DocumentRoot "cache location"
   ServerName myappname
</virtualHost>

Я пытаюсь создать фиктивный виртуальный хост с именем сервера как * и с другим расположением кеша. Вот что я пробовал:

<VirtualHost *:*>
   DocumentRoot "another cache location"
   ServerName *
</virtualHost>

Как я могу проверить, что моя фиктивная конфигурация виртуального хоста работает, и нужно ли мне изменять мою конфигурацию?

Насколько мне известно, установка *, поскольку ServerName будет соответствовать только литералу * в качестве имени хоста, и это не соответствует предполагаемому сопоставлению подстановочных знаков ...

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

<VirtualHost *:80>
  # This is the first and will handle anything that is not example.[com | net | org] 
  ...
</VirtualHost> 
<VirtualHost *:80>
  ServerName example.com
  ...
</VirtualHost> 
<VirtualHost *:80>
  ServerName example.net
  ...
</VirtualHost> 
<VirtualHost *:80>
  ServerName example.org
  ...
</VirtualHost>

Вторая часть этого ответа имеет подходящую настройку для VirtualHOST по умолчанию: https://serverfault.com/a/662356/37681