Q. Cockpit CMSにアップロードした画像が403になる
公開日:2021年10月5日
A.nswer
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がアクセスをブロックすることもあるので、そちらも確認しましょう。