LoginSignup
1
0

More than 3 years have passed since last update.

minio を同じサーバーの別dockerコンポーネントで立ち上げ、それをnginxプロキシーで外向きの https:// で設置して、fogでそのhttps:// URL をendpoint あるいはasset_hostとして指定すると、IPアドレスになって、サービスを検知できない問題

Last updated at Posted at 2020-08-01

自分メモです。
正確には、minio を同じサーバーのdockerコンポーネントで立ち上げdocker network経由でも使えるようにした上で、それを同時にnginxプロキシーで外向きの https:// に設定しているので、CarrierWaveのfogでは、その https:// URL をendpointあるいはasset_hostとして指定した場合、Railsで画像アップロードしようとすると、その指定した https:// URL がIPアドレスに変換されてしまい、サービスを検知できない問題……
とにかくこの問題は起こりました。

解決策は、StackOverflow の下記ページにありました。でも、たどり着くのに少し時間がかかった。
asset_hostはそれでいい。しかし、endpointはdockerのコンテナ名を指定すべきと。

StackOverflow: Can't upload file through carrierwave fog-aws to minio (docker-compose)

qiita.rb
CarrierWave.configure do |config|
  config.fog_provider = 'fog/aws'
  config.fog_credentials = {
      provider:              'AWS',
      aws_access_key_id:     'development',
      aws_secret_access_key: 'development',
      region:                'us-east-1',
      host:                  'minio',  # <- ここをコンテナ名に/サービスのURL(ドメイン名)だとIPアドレスになってしまう
      endpoint:              'http://minio:9000'  # <- ここも
  }
  config.fog_directory  = 'test'
  config.fog_public     = false

end
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0