首先,在Docker容器中设置Active Storage配置。在Dockerfile文件中添加以下内容:
ENV RAILS_ACTIVE_STORAGE_URL='http://:8080'
其中,
然后,需要在Nginx的配置文件中添加以下内容:
location /rails/active_storage/blobs/ {
proxy_pass http://:3000;
proxy_set_header Host ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
其中,
最后,在Rails应用程序中更新Active Storage配置文件config/storage.yml,将Rails应用程序中的URL协议更改为Http。
amazon:
service: S3
access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
region: 'us-east-1'
bucket: 'my-bucket'
endpoint: <%= ENV['RAILS_ACTIVE_STORAGE_URL'] %>
force_path_style: true
保存所有更改并重新构建Docker容器,Active Storage现在应该可以正常工作了。