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