CarrierWaveの設定について
Raspberry Pi 5が発売されたようだ。
さすがにこの円安の割高感に加えてシングルボードコンピュータの選択肢が増えつつあるこのご時世でわざわざRaspberry Piを買うか、いや買うまいかと悩んでいる。
閑話休題。 以前も何度か取り上げたMinioであるのだが、これの設定がうまくできずにハマっていた。
CarrierWave.configure do |config|
config.fog_credentials = {
endpoint: "http://localhost:9000",
path_style: true
},
config.asset_host = "http://assets.example.com"
config.fog_directory = "my-bucket"
config.fog_public = true
end
まずは画像など直接ファイルを参照したい場合はfog_public = true
を指定しないといけない。
そうしないとasset_host
が反映されない。
あくまでファイルは外部に干渉されないような用途でのみfog_public = false
を指定できる。
ただこの設定だとなぜかNginx経由でアクセスしたときアップロードしたファイルが参照できない。
ファイルは存在しているはずなのにAccessDenied
が出続けてずいぶんハマった。
CarrierWave.configure do |config|
config.asset_host = "http://assets.example.com/my-buscket"
config.fog_directory = "my-bucket"
end
正しくはasset_host
にfog_directory
を追加してやらないといけないようだった。
こうして文章に残してしまえばあっけないのだが、半日近くこの問題に時間を費やした。
おそらくpath_style
は本来のAWSではサブドメインになるのだろうから、Minioをサブドメインでも運用できる設定があればうまくいくかもしれない。
Read other posts