--> -->

skimemo


skimemo - 日記/2021-06-06/さくらのオブジェクトストレージを使っていて気づいたこと のバックアップ差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#blog2navi()
*さくらのオブジェクトストレージを使っていて気づいたこと [#yc3dffd3]

#title(さくらのオブジェクトストレージを使っていて気づいたこと);
所々ではまるのでメモです。
* HEADリクエストとCORS [#ge04ca60]
~Publicのオブジェクトにアクセスする際は、CORSを設定しないと &inlinecode(Reason: CORS header 'Access-Control-Allow-Origin' missing); エラーになってしまうのですが、CORSを全許可にアクセスしても、何故か最初のHEADリクエストだけはCORSエラーになります。私は404かそうじゃないかだけ知りたかったので、CORSエラーの場合はファイルが存在すると判断するようにして回避しました。バグ!?
* さくら内からProxyを張る [#g596c69e]
~さくらのオブジェクトストレージは、さくら内から使う分には安くて制限も無いのですが、さくら外(つまりpublicにしてブラウザ)からアクセスすると10万アクセスで無料枠を使い切るなど、意外と高コストになりかねません。そこで、元々借りているさくら内のサーバーにProxyを設定して、そこを経由して外部に公開するようにしたところ、パスは合っているのにAccessDeniedになるケースが出てきました。&inlinecode(telnet [server] 80); でアクセスして確認すると問題無いのに、です。
~オブジェクトストレージ側には何のログも出ないので、サーバー側から出るパケットをキャプチャして確認してたところ、ヘッダに &inlinecode(Authorization); が含まれると、何らかの認証をしようとして(?)エラーとなることが分かりました。
~というわけで、Proxyの設定(Apache)を以下のようにしたところ、正常にアクセスできるようになりました。
 ProxyPass /s3 http://s3.isk01.sakurastorage.jp/[bucket名]
 <Proxy *>
     RequestHeader unset Authorization
 </Proxy>

#htmlinsert(twitterbutton.html)
RIGHT:Category: &#x5b;[[Linux>日記/Category/Linux]]&#x5d; - 19:08:48
----
RIGHT:&blog2trackback();
#comment(above)
#blog2navi()