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

Varnish перенаправляет на внутренний порт Apache 8000

Я установил apache и лак на выделенном сервере, работающем на debian squeeze.

Иногда лак перенаправляет на внутренний порт apache 8000. В этом случае браузер показывает то есть mydomain.com:8000/shop/ и не имеет связи с сервером, и контент не будет отображаться. Я предполагаю, что проблема вызвана моими конфигурациями apache или varnish, которые являются очень простыми.

Лак работает на 80-м порту. Apache работает на 8000-м порту.

Вот несколько примеров:

mydomain.com/shop/ -> mydomain.com/shop/ (работает! Магазин отображается корректно)

mydomain.com/shop -> mydomain.com:8000/shop/ (без подключения к серверу; без контента)

mydomain.com/phpinfo.php -> mydomain.com/phpinfo.php (работает!)

Магазин, которым я пользуюсь, является торговым. Я думал о редактировании .htaccess в каталоге den shop, но это не сработало. Поэтому я использую стандартный магазин .htaccess.

Если это поможет, я могу опубликовать свои файлы конфигурации (varnish / apache) или правильный URL-адрес моего сервера.

Буду очень благодарен за любой совет. У меня заканчиваются идеи.

Заранее благодарим! Майкл

Это проблема Apache. Apache пытается канонизировать URL-адреса.

URL "http://example.com/foo"отличается от"http://example.com/foo/"(с косой чертой в конце). Тем не менее, большую часть времени требуется один и тот же ресурс.

Apache пытается переписать URL-адреса без косой черты в конце, чтобы они указывали на URL-адреса с завершающей косой чертой.

Проблема в том, что ваш сервер работает на порту 8000, поэтому apache добавляет и его.

С моей точки зрения, есть два варианта:

  1. Запустите Apache на порту 80
  2. Установите "UseCanonicalName Off" в конфигурации apache и создайте собственную перезапись, чтобы URL-адреса указывали без косой черты в нужную точку.