Перенаправление Varnish / Apache на внутренний порт 8080
Я использую Varnish 2 с бэкэндом Apache на 8080 на той же машине. Все работает нормально, кроме одной проблемы: иногда Apache(?) Перенаправляет на внутренний порт:8080, особенно когда я использую htaccess. Пользователи отображают порт 8080 в URL-адресе, а Google сканирует мой сайт и на внутреннем порту, что нежелательно.
Я хочу, чтобы Apache 8080 был доступен только для Varnish на localhost, а не перенаправлять или отображать внутренний порт.
Что может быть быстрым способом предотвращения перенаправления пользователей на 8080, а поисковым системам будет отказано в сканировании серверной части?
Вот пример строки htaccess:
redirect /promotion /register.php?promotion=june
что заставляет www.domain.com/promotion перенаправлять на www.domain.com:8080/register.php?promotion=june
4 ответа
Чтобы просто прояснить ответ Скотта применительно к Ubuntu, возможно, ко всем дистрибутивам на основе Debian, вы можете просто добавить mod_rpaf на свой веб-сервер с помощью:
sudo apt-get install libapache2-mod-rpaf
Модуль настраивает и перезагружает apache по мере необходимости, накладные расходы минимальны, и он делает именно то, что вы просили.
У меня была такая проблема по несколько другим причинам, но решение вашей проблемы будет тем же.
К сожалению, это ошибка в Apache, и поэтому вместо того, чтобы объяснять весь ответ, я отправлю вас на открытое мной сообщение... Извините, что отправляю вас на другой веб-сайт, но в наилучших интересах решить этот вопрос.,
http://www.linuxquestions.org/questions/linux-server-73/apache-server-mod_rewrite-problem-892985/
Это исправит вашу проблему, не беспокоясь.
Модуль mod_rpaf будет обрабатывать это для вас. Наш форк на https://github.com/gnif/mod_rpaf имеет улучшения для порта и SSL и теперь является официальным источником.
Вам необходимо настроить прямое и обратное проксирование. Я сделал это в Tomcat, как описано здесь.
Не сделали этого на Varnish, но вот пост, посвященный этой проблеме.