同じドメインの3つのサブドメインをホストするサーバーがあり、それぞれに独自のIPがあります。たくさんの小さな画像とワニスが奇跡を起こすという理由で、Apacheの前にワニスをセットアップする必要があります。
サーバーにはまだ名前が付けられていないため(DNSは古いサーバーを指す)、IPとの比較を行います(これがゴミになる理由かどうかはわかりません)。
私はcPanelからポート0.0.0.0:81にApacheを設定し、次のようにdefault.vclにバックエンドを作成しました。
backend name1 {
.host = "x1.y2.z3.w4";
.port = "81";
}
backend name2 {
.host = "x5.y6.z7.w8";
.port = "81";
}
など、すべてのサブドメインについて
すべての例は言っています:
put:
if (req.http.host ~ "x1.y2.z3.w4") {
set req.backend = name1;
} else {
set req.backend = name2;
}
次のような新しいvcl_recvサブルーチン定義に追加します。
sub vcl_recv {
if (req.http.host ~ "x1.y2.z3.w4") {
set req.backend = name1;
} else {
set req.backend = name2;
}
return(lookup);
}
その結果、x5.y6.z7.w8 IP(上記のルールの例外)を具体的に配置した場合にのみ何かを取得し、他のすべてがエラーでデフォルトのWebサイトcpanelページにリダイレクトされ、何も見つかりません。
sysconfig / varnishファイルのデーモンオプション定義は次のとおりです。
DAEMON_OPTS="-a 0.0.0.0:80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-u varnish -g varnish \
-s malloc,7G \
-p thread_pool_add_delay=1 \
-p thread_pools=4 \
-p thread_pool_min=200 \
-p thread_pool_max=4000 \
-p session_linger=50 \
"
言うまでもなく、Apacheのポート81からアクセスすると両方のIPが機能します。
何がうまくいかないのか?私はワニスVCLの合計n00bであり、ヘルプやポインターは大歓迎です!
ありがとう