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

Varnish to Vsites на серверах Apache

Может ли кто-нибудь посоветовать VCL conf, который перенаправляет (внутри LAN и LAN DNS) для доступа к нескольким именованным хостам?

т.е. http://x.ourdomain.com = IP сервера Varnish = перенаправляет на хост LAN (например, 10.0.5.1) http://y.ourdomain.com = IP сервера Varnish = перенаправляет на хост LAN (например, 10.0.5.5) и т. Д.

Я был в лаке около 5 часов, и небольшая часть моего мозга уже умерла.

sub vcl_recv {
  set req.backend = default_backend;
  if ( req.http.Host == "x.ourdomain.com" ) {
    set req.backend = x_backend;
  }
  if ( req.http.Host == "y.ourdomain.com" ) {
    set req.backend = y_backend;
  }
}

Если вы не ищете настоящих перенаправляет, в таком случае:

sub vcl_recv {
  if ( req.http.Host == "x.ourdomain.com" ) {
    error 750 "http://10.0.5.1" + req.url;
  }
  if ( req.http.Host == "y.ourdomain.com" ) {
    error 750 "http://10.0.5.5" + req.url;
  }
}

sub vcl_error {
  if ( obj.status == 750 ) {
    set obj.http.Location = obj.response;
    set obj.status = "302";
    set obj.response = "Found";
    return(deliver);
  }
}