Qandar

Q Cockpit CMSにアップロードした画像が403になる

公開日:2021年10月5日

Answer

Webサーバー側の問題です。

Cockpit CMSはassetsとしてアップロードした静的ファイルについては、何も処理をしていない(アクセス禁止など)ので、問題があるとしたらサーバー側の問題です。

レンタルサーバーによっては、SPAなどのJavascriptフレームワークからのアクセスをCORS処理していることがあるので、CORSを追加してあげるとアクセスできることがあります。

Apacheなどなら、cockpit CMSの.htaccessファイルのmod_headersの部分に追記すればアクセス可能になるのではないかと思います。

<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
    # ここから
    <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
      Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
    # ここを追記
  </IfModule>
</IfModule>

画像ファイルへのアクセスの時だけ、CORSのAccess-Control-Allow-Originを全てにしています。

また、CloudflareなどのCDNを使っている場合は、CDNがアクセスをブロックすることもあるので、そちらも確認しましょう。

新着Q&A