• No : 368
  • 公開日時 : 2024/08/29 12:35
  • 更新日時 : 2024/10/04 20:36
  • 印刷

Basic認証をCDNサーバーに設定できますか?

カテゴリー : 

回答

以下のVCLスニペットを利用することで設定可能です。
それぞれ任意の「名前」を登録のうえ、1つずつ設定してください。

注意事項)
  • この例ではユーザ名が"joe"、"mike"としております。
    お客様のご環境に併せて適宜変更および、検証を行ってください。
  • VCLスニペットの基本的な利用方法は次のページをご確認ください。
 
■配置場所:最上部...定義
 table customer_keys {
   "Basic am9lOjQzNEAvMzkyIzgyPzk2": "joe",
   "Basic bWlrZTo4MjM0MzNzWjQ0SDZlNw==": "mike"
 }
 
■配置場所:指定(recv)...判断処理
 if(! table.lookup(customer_keys, req.http.Authorization) ) {
   error 401 "Restricted";
 }
 
■配置場所:指定(error)...error処理
 if (obj.status == 401) {
   set obj.http.Content-Type = "text/html; charset=utf-8";
   set obj.http.WWW-Authenticate = "Basic realm=Secured";
   synthetic {"
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
 
 <HTML>
 <HEAD>
 <TITLE>Error</TITLE>
 <META HTTP-EQUIV='Content-Type' CONTENT='text/html;'> </HEAD>
 <BODY><H1>401 Unauthorized (varnish)</H1></BODY> </HTML> "};
   return (deliver);
 } # End custom 401 code
 
 
次のFastlyのページも併せてご確認ください。
▼基本認証(Fastly社サイト)
https://docs.fastly.com/ja/guides/basic-authentication
 
なお、オリジンサーバー側で Basic認証を設定している場合、Basic認証が解除された状態が CDN にキャッシュされると、認証なしでアクセスできてしまう恐れがあります。
CDN でBasic認証を利用する場合は、オリジンサーバーではなく、CDN 側で設定を行ってください。