0

ワニスの完全な初心者なので、これがばかげていると思われる場合は、事前に謝罪してください。

これが状況です。5つのIPを持つサーバーがあります。ほとんどのタスクで ISPconfig を使用しますが、それはおそらく無関係です。

複数の IP にわたって構成された複数の Apache 仮想ホストがあります。

問題は、デフォルト以外の仮想ホスト、つまり仮想ホストで定義された静的 IP を持つ仮想ホストのいずれかで、varnish が 503、フェッチ エラー、バックエンド接続なし (varnishlog による) を出すことです。*:8080 仮想ホストは正常に動作しています。だから私はどこかで何かが欠けています。パスは正しいように見えますが、すべての vhost エラー ログに file does not exist エラーが表示されます。

提案は大歓迎です。

もちろん、すべての vhost エントリを手動で編集し、それに応じて構成しました。

<VirtualHost 00.11.22.33:8080>
      DocumentRoot /var/www/shop.example1.com/web

これが私のvcl構成です

    backend default {

        .host = "127.0.0.1";
        .port = "8080";
    }

    backend example1 {
          .host = "00.11.22.33";
          .port = "8080";
    }

    backend example2 {
         .host = "11.22.33.44";
          .port = "8080";
    }


    acl purge {
            "localhost";
    }

    sub vcl_recv {

    if (req.http.host ~ "(?i)^(www.)?example1.com")

    {

        set req.http.host = "www.example1.com";
        set req.backend = example1;

    }

    if (req.http.Host ~ "shop\.example2\.com") 
    {

            set req.http.Host = "shop.example2.com";
            set req.backend = example2;


            }
        set req.grace = 2m;

  set req.http.Cookie = regsuball(req.http.Cookie, "(^|;\s*)(_[_a-z]+|has_js)=[^;]*", "");
  set req.http.Cookie = regsub(req.http.Cookie, "^;\s*", "");




if (req.url ~ "/wp-(login|admin|cron)") {
        return (pass);
}


set req.http.Cookie = regsuball(req.http.Cookie, "wp-settings-1=[^;]+(; )?", "");

set req.http.Cookie = regsuball(req.http.Cookie, "wp-settings-time-1=[^;]+(; )?", "");

set req.http.Cookie = regsuball(req.http.Cookie, "wordpress_test_cookie=[^;]+(; )?", "");

if (req.url ~ "wp-content/themes/" && req.url ~ "\.(css|js|png|gif|jp(e)?g)") {

.......
'
4

1 に答える 1

1

Damn obvious thing of course.

port.conf had:

    NameVirtualHost *:8080
Listen 127.0.0.1:8080

What it needed was:

NameVirtualHost *:8080
Listen 127.0.0.1:8080
Listen my_IP1:8080
Listen my_IP2:8080
于 2012-08-31T17:41:21.400 に答える