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

Varnish как обратный прокси-сервер Apache2, проблема с перенаправлением порта

Я искал, и есть много людей с той же проблемой, но нет четкого решения (или, по крайней мере, я его не нашел).

Я использую Varnish-Cache (3.0) в качестве обратного прокси, прослушивающего порт 80 для веб-сервера Apache 2, прослушивающего порт 88.

Если я запрашиваю следующий URL-адрес, он работает нормально: http: // сервер / материал /

Но, если я прошу это: http: // сервер / материал (без «/» в конце) браузер перенаправляется на порт серверной части Apache (http: // сервер: 88 / вещи /).

Как я могу настроить поведение Apache 2 в этой ситуации?

Заранее спасибо!

Проверьте директиву UseCanonicalName на httpd.conf

#
# UseCanonicalName: Determines how Apache constructs self-referencing
# URLs and the SERVER_NAME and SERVER_PORT variables.
# When set "Off", Apache will use the Hostname and Port supplied
# by the client.  When set "On", Apache will use the value of the
# ServerName directive.
#
UseCanonicalName Off

Так же можно удалить на лак, попробуй так:

sub vcl_fetch { 
   if (beresp.status == 301 || beresp.status == 302) 
   { 
      set beresp.http.Location = regsub(beresp.http.Location, "^(\w+://[^/]+):\d+", "\1"); 
   } 
}