share facebook facebook twitter menu hatena pocket slack

2011.07.20 WED

VarnishからオリジンサーバにHostヘッダを変更してアクセス

鈴木 宏康

WRITTEN BY 鈴木 宏康

久しぶりになりますが、Varnishの記事です。

前回はVarnishでリダイレクト専用Webサーバの構築をご紹介しました。

今回は、単純なキャッシュサーバではありますが、オリジンサーバへのアクセス時に、ユーザーがリクエストした場合のHostヘッダではなく、任意のHostヘッダに変更してアクセスする設定になります。

ユーザーのリクエスト時のHostヘッダのままで、オリジンサーバ(origin.suz-lab.com)にアクセスする場合は、単純に/etc/varnish/default.vclを下記のように設定するだけで大丈夫です。

backend default {
    .host = "origin.suz-lab.com";
    .port = "80";
}

但し、バーチャルホストの関係などで、Hostヘッダを変更してアクセスする場合は、下記のように、vcl_recvのreq.http.hostに変更したいホスト名を設定します。

backend default {
    .host = "origin.suz-lab.com";
    .port = "80";
}
sub vcl_recv {
    set req.http.host = "origin.suz-lab.com";
    return (lookup);
}

以上で、オリジンサーバはバーチャルホスト(origin.suz-lab.com)のコンテンツを返すようになります。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。